【发布时间】:2011-04-28 16:08:16
【问题描述】:
我正在开发一个 asp.net 应用程序。使用了很多 UpdatePanel。是否有任何“最佳实践”方法来设置一些 js 脚本以在 updatePanel 刷新后执行。 (重要的是:js 脚本不是静态的——例如,我正在处理我的服务器端代码中的异常,我需要在刷新 updatePanel 后让用户意识到这个异常)
目前我正在使用以下解决方案:
<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('');
}
这只是一个简化的例子,所以基本上不仅仅是错误处理必须像那样工作。通常从服务器传递过来的脚本比较复杂,所以我对这种方式的评估 js 有不好的感觉。
【问题讨论】:
标签: javascript asp.net updatepanel