|
Girando per il web, ero alla ricerca di un editor HTML da utilizzare nelle pagine Web. Cercavo uno di quei controlli che facilitano la scrittura di codice di quei tantissimi tag che a volte noi sviluppatori dimentichiamo. Alla fine ho trovato "Freetextbox" , un editor HTML scritto in javascriptmolto conosciuto e ben documentato. Inoltre compatibile con i browseer più conosciuti (IE, Mozilla, Firefox) e su tutte le piattaforme.
Questo strumento lo consiglio per la possibilità di customizzarlo in base alle proprie esigenze, è possibile cambiare l'aspetto, i colori, il tema del controllo e addirittura si possono creare proprie Toolbar aggiungendo a runtime o a design-time i vari pulsanti. L'installazione è abbastanza semplice : 1. apriamo il pacchetto zip contenente il nostro controllo FreeTextBox 2. aggiungiamo il riferimento della dll alla nostra WebApplication 3. copiamo la cartella aspnet_client e tutto il suo contenuto all'interno del nostro progetto 4. aggiungiamo alla nostra pagina *.aspx la seguente direttiva: <%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %> 5. aggiungiamo il nostro controllo: <FTB:FreeTextBox id="FreeTextBox1" runat="Server" /> Avviando il progetto vedremo il nostro editor HTML con tutte le se funzionalità. Basterà spratichirci un pò per poter capire
come è possibile abilitare o disabilitare le varie toolbar, cambiare lo stile del controllo, aggiungere controlli ecc. Nel caso in cui le nostre pagine web implementino la tecnologia Ajax, ci sono alcuni piccoli accorgimenti da fare nell'inserimento del nostro controllo FreeTextBoc. Infatti esso da alcuni problemi se utilizzato insieme ad un UpdatePanel. Per risolvere il problema basta aggiungere poche righe di codice. Nel Load della pagina andiamo a registrare gli script del nostro controllo : protected void Page_Load(object sender, EventArgs e) { Page.ClientScript.RegisterClientScriptInclude("FTBFreeTextBox", VirtualPathUtility.MakeRelative( Request.Path, "~/aspnet_client/FreeTextBox/FTB-FreeTextBox.js")); Page.ClientScript.RegisterClientScriptInclude("FTBUtility", VirtualPathUtility.MakeRelative( Request.Path, "~/aspnet_client/FreeTextBox/FTB-Utility.js")); Page.ClientScript.RegisterClientScriptInclude("FTBToolbarItems", VirtualPathUtility.MakeRelative( Request.Path, "~/aspnet_client/FreeTextBox/FTB-ToolbarItems.js")); Page.ClientScript.RegisterClientScriptInclude("FTBPro", VirtualPathUtility.MakeRelative( Request.Path, "~/aspnet_client/FreeTextBox/FTB-Pro.js")); } e poi aggiungere questi due metodi : public new void RegisterOnSubmitStatement(string key, string script) { ScriptManager.RegisterOnSubmitStatement(this, typeof(Page), key, script); } [Obsolete] public override void RegisterStartupScript(string key, string script) { string newScript = script.Replace("FTB_AddEvent(window,'load',function () {", "").Replace("});", ""); ScriptManager.RegisterStartupScript(this, typeof(Page), key, newScript, false); } |