Mostrando las entradas con la etiqueta HtmlEditor. Mostrar todas las entradas
Mostrando las entradas con la etiqueta HtmlEditor. Mostrar todas las entradas

martes, 25 de febrero de 2020

Ajax Control ToolKit v.19, HtmlEditor, extender_popupDiv.

Tengo un proyecto WebForm Asp.Net en Visual Studio 2019, donde utilizo Ajax Control ToolKit v.19. Estoy utulizando el nuevo control HtmlEditorExtender dentro de un FormView.

asp:TextBox ID="TextBoxMailBody" runat="server" Rows="15"  Width="100%"  TextMode="MultiLine">

ajaxToolkit:HtmlEditorExtender  EnableSanitization="false"  ID="TextBoxMailBody_HtmlEditorExtender"   runat="server" BehaviorID="TextBoxMailBody_HtmlEditorExtender" TargetControlID="TextBoxMailBody">

PROBLEMA : Cuando mi FormView se activada en Modo Edit o Insert, algunos controles como ComboBox que estaban cerca del nuevo HtmlEditor dejaban de funcionar, les hacia clic y no respondian, como si quedaran bloquedos o de lectura.

CAUSA : Utilizando el Navegador y activando las opciones de Desarrollo con la tecla F12, encontré que el HtmlEditorExtender, crea un Div, que me cubre otros componentes. Los controles que este dentro de ese Div quedan bloqueados y esa es la razón por la que no funcionaban mis ComboBox.



SOLUCION : Agregar la siguiente clase .css, puede hacerse a local al .aspx o .ascx, pero si son varias páginas que utiliza htmlEditorExtender es mejor que esta clase quede a nivel global en un archivo .css para no tener que establecerla de manera individual.

.ajax__html_editor_extender_popupDiv {
  display: none;
}

  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
Leer más...>>

Visual Studio 2019, AJAX Control ToolKit v.19, HTMLEditorExtender, HtmlEditor.Sanitizer

Tenía mi proyecto WebForm Asp.Net inicialmente desarrollado en Visual Studio 2013, luego lo he migrado a Visual Studio 2019. Uno de los cambios que me encuentro es que el antiguo control Ajax Html Editor ha sido Depreciado y que ahora se debe utilizar el nuevo HTMLEditorExtender. Lo que hago es reemplazar todos los Html Editor por el nuevo HTMLEditorExtender, algo como  :

EnableSanitization="false" ID="TextBoxMailBody_HtmlEditorExtender"   runat="server" BehaviorID="TextBoxMailBody_HtmlEditorExtender" TargetControlID="TextBoxMailBody">                       

PROBLEMA con HtmlEditor.Sanitizer : El control HtmlExtender, por temas de seguridad require que se instale el NUGET AjaxControlToolkit.HtmlEditor.Sanitizer, si no se hace se obtiene el siguiente error :

Error de servidor en la aplicación '/'.
The Sanitizer is not configured in the web.config file.
Either install the AjaxControlToolkit.HtmlEditor.Sanitizer NuGet package or set the EnableSanitization property to False (insecure).
 

Version instalada de HtmlEditor.Sanitizer.



Con solo instalar fue suficiente, no tuve que cambiar nada en el web.config.

PROBLEMA : Todo funcionaba bien, pero cuando en mi nuevo html Editor se pegaban tablas, estas no eran guardadas en el TextBox.Text, es decir si invocaba string cad = Text1.Text,  obtenia algunos textos planos, pero las tablas no lograba obtenerlas, se desabarecian Tags como < table > .
..y otros comandos html,  no  podía obtenerlos al hacer string cad = Text1.Text

SOLUCION : Tuve que colocar la Propiedad EnableSanitization="false" al HhmlEditor y listo.

EnableSanitization="false" ID="TextBoxMailBody_HtmlEditorExtender"   runat="server" BehaviorID="TextBoxMailBody_HtmlEditorExtender" TargetControlID="TextBoxMailBody">


Tambien desintalé el Nuget HtmlEditor.Sanitizer, ya que al establecer EnableSanitization="false"  no será utilizado y para manetener limpia mi solucion de Visual Studio 2019.

 
Descargar Ajax ToolKit version 19:

Ver ejemplos de los controles Ajax Control ToolKit v19.



  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Inglés -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
  • Añadir a la guía de conversación
    • No hay listas de palabras para Español -> Español...
    • Crear una nueva lista de palabras...
  • Copiar
Leer más...>>