Javascript 处理代码隐藏后显示客户端警报。ASP.NET
我的ASP.NET 4 Web表单应用程序中有以下代码:Javascript 处理代码隐藏后显示客户端警报。ASP.NET,javascript,jquery,asp.net,vb.net,alert,Javascript,Jquery,Asp.net,Vb.net,Alert,我的ASP.NET 4 Web表单应用程序中有以下代码: Protected Sub BTNSave_Click(sender As Object, e As EventArgs) Handles BTNSave.Click If saveOnDB() Then showOkAlert() Else showErrorAlert() End If End Sub 我需要在代码隐藏中的某些操作正常或发生错误时显示客户端警报。有什么想法吗 我已经绑定了R
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(“alert('Successfully added');”)
,但这从来都不起作用,甚至在浏览器控制台中创建了一个错误:“Uncaught Sys.WebForms.PageRequestManagerParserErrorException:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息。”
另外,我不使用OnClientClick
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中嵌入和执行,或者页面何时加载,或者其他情况,有几种不同的方法。决定需要哪个函数可能有点混乱,但它正是您所需要的。在我的示例中,我在JAVASCRIPT_模板中包含了对jQuery的调用。如果没有jQuery,它只会是:“javascript:alert({0});”