Magazine Internet

FreeTextBox et UpdatePanel

Publié le 17 juillet 2008 par Jeremy.jeanson

Si vous avez déjà tenté d'utiliser le control FreeTextBox et notre ami l'UpdatePanel vous vous êtes certainement rendu compte que leur cohabitation se faisait plutôt mal... voir même pas du tout. Il y a tout simplement un petit souci d'enregistrements de fichiers javascripts qui ne se font pas.

Après plusieurs tests, page de codes et divers tours sur des forums exposant le problème je suis arrivé à trouver un code fonctionant quelle que soit la situation.

Le voici:

C#
   #region FreeTextbox code

   /// <summary>
   /// FreeTextbox in update panel workaround
   /// </summary>
   public new void RegisterOnSubmitStatement(string key, string script)
   {
   ScriptManager.RegisterOnSubmitStatement(this, typeof(Page), key, script);
   }

   /// <summary>
   /// FreeTextbox in update panel workaround
   /// </summary>
   [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);
   }

   #endregion


   protected void Page_Load(object sender, EventArgs e)
   {
   if (!Page.IsPostBack)
   {
   Page.ClientScript.RegisterClientScriptInclude("FTB-FreeTextBox", VirtualPathUtility.MakeRelative(Request.Path, "~/FreeTextBox/FTB-FreeTextBox.js"));
   Page.ClientScript.RegisterClientScriptInclude("FTB-Utility", VirtualPathUtility.MakeRelative(Request.Path, "~/FreeTextBox/FTB-Utility.js"));
   Page.ClientScript.RegisterClientScriptInclude("FTB-Toolbars", VirtualPathUtility.MakeRelative(Request.Path, "~/FreeTextBox/FTB-ToolbarItems.js"));
   Page.ClientScript.RegisterClientScriptInclude("FTB-ImageGallery", VirtualPathUtility.MakeRelative(Request.Path, "~/FreeTextBox/FTB-ImageGallery.js"));
   Page.ClientScript.RegisterClientScriptInclude("FTB-Pro", VirtualPathUtility.MakeRelative(Request.Path, "~/FreeTextBox/FTB-Pro.js"));
   }
   }

ASPX

<%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>

<FTB:FreeTextBox ID="FreeTextBoxEdit" runat="server"
 JavaScriptLocation="ExternalFile"
 ButtonImagesLocation="ExternalFile"
 ToolbarImagesLocation="ExternalFile"
 SupportFolder="~/FreeTextBox/"
 Text='<%# Bind("texte") %>'>
</FTB:FreeTextBox>


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte