从代码beind(c#)catch块调用JavaScript函数

从代码beind(c#)catch块调用JavaScript函数,c#,javascript,asp.net,C#,Javascript,Asp.net,我试图从catch块后面的ascx控制代码调用一个JavaScript函数。 我试过以下两种方法,但它们似乎不起作用 Page.ClientScript.RegisterClientScriptBlock(typeof(string),“script”,“test();”,true) ScriptManager.RegisterStartupScript(第页,GetType(),“err_msg”,“alert('error');”,true) 如果我将代码放在“PageLoad”下,则会调用

我试图从catch块后面的ascx控制代码调用一个JavaScript函数。 我试过以下两种方法,但它们似乎不起作用

  • Page.ClientScript.RegisterClientScriptBlock(typeof(string),“script”,“test();”,true)

  • ScriptManager.RegisterStartupScript(第页,GetType(),“err_msg”,“alert('error');”,true)

  • 如果我将代码放在“PageLoad”下,则会调用该函数,但放在catch块中时不会调用该函数。请建议

    谢谢

    您可能想试试这个: .cs

    .aspx

    .aspx:

    <script>
        $(document).ready(function(){
            <%=script  %>
        });
      </script>
    
    
    $(文档).ready(函数(){
    });
    
    捕捉块是用来做什么的,它在哪里

    如果catch块中的代码被执行,这通常意味着某些东西失败了,也许这个失败也是JS调用没有通过的原因。

    您尝试过这个吗

    Page.ClientScript.RegisterStartupScript(typeof(string), "script", "test();", true);
    
    如果这相当于问题中的ScriptManager选项,我想不起来了


    此外,您还需要确保所传递的“脚本密钥”值是唯一的,否则asp.net将丢弃除第一个实例以外的所有具有相同密钥的已注册脚本

    Javascript根本不喜欢特殊字符和换行符(\r\n)。更换所有这些,它将工作

    例如:

    string test = msgError.Replace("'", "");
    test = Server.HtmlEncode(test).Replace(Environment.NewLine, "<br />");
    Page.ClientScript.RegisterStartupScript(
                typeof(string),
                "MyKeyCatch",
                //script,
                "showErrorMessage('"+test+"');",
                true);
    
    string test=msgError.Replace(“,”);
    test=Server.HtmlEncode(test).Replace(Environment.NewLine,“
    ”); Page.ClientScript.RegisterStartupScript( 类型(字符串), “MyKeyCatch”, //剧本, “消息(“+test+”);“, 正确的);
    如果出现拒绝访问异常,我必须在页面顶部显示一条消息,并应用一些css样式。所以我试图调用一个javascript函数来实现这一点。这是通过回发、ajax还是从一开始就加载页面来调用的?脚本是在正确的时间运行(在页面呈现后)还是尝试在未完成的页面上运行?回发时会调用它。在页面加载时,如果我调用它工作的函数。偶数-page.ClientScript.RegisterStartupScript(typeof(string),“script”,“Javascript:alert('test');”,true);不要在catch block中抛出警报问一个愚蠢的问题>你知道catch块只有在抛出异常时才会执行吗?这正是我想要实现的。当出现异常时,我想调用javascript函数。我的场景是-母版页上有一个按钮,在弹出窗口中打开一个aspx页面。当我单击弹出屏幕上的“保存”按钮时,执行保存操作后,弹出屏幕关闭。如果出现错误,我必须在母版页中的字段上显示错误消息。Try catch块在弹出页面中。@San如果使用window.open(..),请将主窗口称为“window.opener”。请参阅:。因此,您可以这样做:window.opener.displayError(),假设您的母版页中有displayError函数
    <script>
        $(document).ready(function(){
            <%=script  %>
        });
      </script>
    
    Page.ClientScript.RegisterStartupScript(typeof(string), "script", "test();", true);
    
    string test = msgError.Replace("'", "");
    test = Server.HtmlEncode(test).Replace(Environment.NewLine, "<br />");
    Page.ClientScript.RegisterStartupScript(
                typeof(string),
                "MyKeyCatch",
                //script,
                "showErrorMessage('"+test+"');",
                true);