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>