处理代码隐藏后显示客户端警报。 ASP.NET
Show a Client Alert After the codebehind has been processed. ASP.NET
我的 ASP.NET 4 Web Forms 应用中有这段代码:
Protected Sub BTNSave_Click(sender As Object, e As EventArgs) Handles BTNSave.Click
If saveOnDB() Then
showOkAlert()
Else
showErrorAlert()
End If
End Sub
当在后面的代码中完成的某些事情没有问题或发生错误时,我需要显示一个客户端警报。有什么想法吗?
我绑定了 Response.Write("<script>alert('Successfully added');</script>")
但这从来没有用过,甚至在浏览器的控制台中产生了一个错误:"Uncaught Sys.WebForms.PageRequestManagerParserErrorException: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed."
我也不使用 OnClientClick
,因为它会在代码隐藏之前触发 javascript。
我也在做类似的事情。我破解了一些工作代码以将其简化为您特定用途的示例:
private void RegisterJavascriptForUpdatePanelExample(UpdatePanel myUpdatePanel, string myMessage)
{
const string JAVASCRIPT_TEMPLATE = "javascript: jQuery(function($) {{ alert({0}); }});";
const string SCRIPT_KEY_TEMPLATE = "KeyForRegisterJavascriptForModalPopup_{0}";
string scriptkey, scriptstr;
scriptkey = string.Format(SCRIPT_KEY_TEMPLATE, myUpdatePanel.ClientID);
scriptstr = string.Format(JAVASCRIPT_TEMPLATE, myMessage);
ToolkitScriptManager.RegisterClientScriptBlock(myUpdatePanel, myUpdatePanel.GetType(), scriptkey, scriptstr, true);
}
在此示例中,调用了一个简单的 JavaScript alert() 来显示您的消息,如下所示:
RegisterJavascriptForUpdatePanelExample("A-OK!");
特别感兴趣的是 ToolkitScriptManager.RegisterClientScriptBlock 函数。这有多种变体,具体取决于 JavaScript 代码是否应嵌入并在 UpdatePanel 中执行,或者页面加载时或其他情况。决定需要哪个功能可能有点混乱,但这正是您所需要的。
我的 ASP.NET 4 Web Forms 应用中有这段代码:
Protected Sub BTNSave_Click(sender As Object, e As EventArgs) Handles BTNSave.Click
If saveOnDB() Then
showOkAlert()
Else
showErrorAlert()
End If
End Sub
当在后面的代码中完成的某些事情没有问题或发生错误时,我需要显示一个客户端警报。有什么想法吗?
我绑定了 Response.Write("<script>alert('Successfully added');</script>")
但这从来没有用过,甚至在浏览器的控制台中产生了一个错误:"Uncaught Sys.WebForms.PageRequestManagerParserErrorException: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed."
我也不使用 OnClientClick
,因为它会在代码隐藏之前触发 javascript。
我也在做类似的事情。我破解了一些工作代码以将其简化为您特定用途的示例:
private void RegisterJavascriptForUpdatePanelExample(UpdatePanel myUpdatePanel, string myMessage)
{
const string JAVASCRIPT_TEMPLATE = "javascript: jQuery(function($) {{ alert({0}); }});";
const string SCRIPT_KEY_TEMPLATE = "KeyForRegisterJavascriptForModalPopup_{0}";
string scriptkey, scriptstr;
scriptkey = string.Format(SCRIPT_KEY_TEMPLATE, myUpdatePanel.ClientID);
scriptstr = string.Format(JAVASCRIPT_TEMPLATE, myMessage);
ToolkitScriptManager.RegisterClientScriptBlock(myUpdatePanel, myUpdatePanel.GetType(), scriptkey, scriptstr, true);
}
在此示例中,调用了一个简单的 JavaScript alert() 来显示您的消息,如下所示:
RegisterJavascriptForUpdatePanelExample("A-OK!");
特别感兴趣的是 ToolkitScriptManager.RegisterClientScriptBlock 函数。这有多种变体,具体取决于 JavaScript 代码是否应嵌入并在 UpdatePanel 中执行,或者页面加载时或其他情况。决定需要哪个功能可能有点混乱,但这正是您所需要的。