Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理代码隐藏后显示客户端警报。ASP.NET_Javascript_Jquery_Asp.net_Vb.net_Alert - Fatal编程技术网

Javascript 处理代码隐藏后显示客户端警报。ASP.NET

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

我的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
我需要在代码隐藏中的某些操作正常或发生错误时显示客户端警报。有什么想法吗

我已经绑定了
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});”