Hej alla! Löste det. Kan vara bra för fler att vetaRegistrera scipt include vid async postback.
Jag har skrivit en liten kontroll, nu fick en annan snubbe för sig att implementera lite ajax runt denna kontroll. Min kontroll registrerade lite javascript kod, Detta slutade dock fungera när kontrollern lades dit vid async postback. Så jag ändrade till denna kod
<code>
if (Page.IsPostBack) {
if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
ScriptManager.RegisterClientScriptInclude(this.Page, typeof(Page), "LimitedTextBox.js", scriptPath);
}
else
this.Page.ClientScript.RegisterClientScriptInclude("LimitedTextBox.js", scriptPath);
</code>
Som ni ser körs ScriptManager.RegisterClientScriptInclude om det är en async postback.
Men nu får vi detta skumma problem istället,
Microsoft JScript runtime error: Sys.ScriptLoadFailedException: The script '/PRISdev/WebResource.axd?d=apt05VSl3BWwNYXB5B_1_e9UFJUN05l6uy4tLt6zRxo4ZPlinTXwuTZlIeDRA-gtBAbMtdkRIgKhLbG_N47n471oOQedwpxnSsgTA3LsLJw4qVo3-3fVRbbJi35XbEVZ0&t=633594879262228404' failed to load. Check for:
Inaccessible path.
Script errors. (IE) Enable 'Display a notification about every script error' under advanced settings.
Missing call to Sys.Application.notifyScriptLoaded().
Sökvägen till scriptet får jag via
string scriptPath = Page.ClientScript.GetWebResourceUrl(typeof(LimitedTextBox),
"Cefalo.Web.Controls.WebResources.JavaScript.LimitedTextBox.js");
Har även testat med ett vanligt script som inte ligger i en webresource, samma fel...Sv: Registrera scipt include vid async postback.
<code>
if (Page.IsPostBack) {
if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
ScriptManager.RegisterClientScriptResource(this, typeof(LimitedTextBox), "Cefalo.Web.Controls.WebResources.JavaScript.LimitedTextBox.js");
}
else
this.Page.ClientScript.RegisterClientScriptInclude("LimitedTextBox.js", scriptPath);
</code>