我有一个带有四个 UpdatePanel 的 aspx 页面。顺便提一下,每个 UpdatePanel 对应一个 JQuery UI 选项卡。我想要实现的是一个 JQuery UI 模式对话框,它位于 UpdatePanel 之外,可以从运行在任何 UpdatePanel 内部的服务器端代码调用。因此,第一个 UpdatePanel 内部是一个运行一些服务器端代码的 asp:Button。当发生错误时,我希望能够注入一些 JavaScript 来调用模态对话框来显示错误消息。这是我正在使用的代码:
Dim script As String = "showPopupMessage('{0}');"
script = String.Format(script, errorMessage)
ScriptManager.RegisterStartupScript(Me.UpdatePanelBizInfo, Me.UpdatePanelBizInfo.GetType, Guid.NewGuid.ToString, script, True)
页面上的 showPopupMessage 函数如下所示:
function showPopupMessage(msg) {
$('#<%=Me.LabelPopupMessage.ClientID %>').text(msg);
$('#dialogPopupMessage').dialog('open');
}
当代码运行注入 JavaScript 时,什么也没有发生。我假设这与在 UpdatePanel 中运行的代码中发生错误有关。在检查生成的 HTML 后,JavaScript 就在那里。我究竟做错了什么?