我正在研究一個asp.net應用程序。有很多使用的UpdatePanels。是否有任何「最佳實踐」的方式來設置一些js腳本執行updatePanel刷新後執行。 (重要的是:js腳本不是靜態的 - 例如,我正在處理服務器端代碼中的異常,並且我需要在updatePanel刷新後讓用戶意識到此異常,例如)設置js在ASP.NET應用程序中從服務器執行
當前我正在使用以下解決方案:
<asp:Hidden id="scriptsHiddenField" runat="server" />
在服務器端我傳遞腳本這樣的:
catch (Exception exception) {
scriptsHiddenField.Value += String.Format("alert('Oops! Error occured: {0}');", exception.Message);
}
而且我在下面的方式評估對endRequest事件腳本:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(sender, args) {
eval($('#<%= scriptsHiddenField.ClientID %>').val());
$('#<%= scriptsHiddenField.ClientID %>').val('');
}
這只是一個sipmlified的例子,所以基本上它不僅是錯誤處理,它必須像這樣工作。通常從服務器傳遞的腳本更加複雜,所以我對評估js的方式感覺不好。
我已經嘗試過了 - 問題是在異步updatePanel刷新後它不能正常工作,這經常使用。 – danyloid 2011-04-28 16:22:13
也許我在我的答案中反轉了ClientScript與ScriptManager,但它確實有效。我們一直這樣做。 – 2011-04-28 16:24:54
您的ToolkitScriptManager是在UpdatePanel中還是外部? – 2011-04-28 16:26:58