代码之家  ›  专栏  ›  技术社区  ›  Saher Ahwal

从C.NET中的代码隐藏调用javascript函数

  •  2
  • Saher Ahwal  · 技术社区  · 14 年前

    当我在C代码中捕获异常时,我尝试调用一个javascript简单警报函数,如下所示:

    在我的职能范围内:

    try
    {
        //something!
    }
    catch (Exception exc)
    {
        ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", 
         "<script type='text/javascript'>alert('Error !!!');return false;</script>");
    }
    

    有没有其他方法可以做到这一点,因为这不会显示任何警报框或任何东西??

    6 回复  |  直到 10 年前
        1
  •  9
  •   djdd87    14 年前

    这是因为您将获得以下方面的错误:

    返回语句在 功能

    只需执行以下操作,而不使用返回语句:

    ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", 
     "<script type='text/javascript'>alert('Error !!!');</script>");
    
        2
  •  2
  •   Fadrian Sudaman    14 年前

    除非它在更新面板中,否则上面的内容应该有效。对于Ajax回发,必须使用 ScriptManager.RegisterStartupScript(Page, typeof(Page), "SymbolError", "alert('error!!!')", true); 相反。

        3
  •  2
  •   Ta01    14 年前

    它的返回,下面的代码工作:

        try
        {
            throw new Exception("lol");
        }
        catch (Exception)
        {
            ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('Error!!!');</script>", false);
        }
    
        4
  •  1
  •   BrunoLM    14 年前

    试试这个

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "SymbolError", "alert('error');", true);
    
        5
  •  0
  •   Giuseppe Accaputo    14 年前

    尝试使用以下内容:

    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "AnUniqueKey", "alert('ERROR');", true);
    
        6
  •  0
  •   Jose Pla    10 年前

    我在ASP.NET项目中使用此代码

     public void MsgBox1(string msg, Page refP)
    {
        Label lbl = new Label();
        string lb = "window.alert('" + msg + "')";
        ScriptManager.RegisterClientScriptBlock(refP, this.GetType(), "UniqueKey", lb, true);
        refP.Controls.Add(lbl);
    }
    

    当我调用它时,主要是为了调试

    MsgBox1("alert(" + this.dropdownlist.SelectedValue.ToString() +")", this);
    

    我是从网上某个地方得到的,但就像一年前一样,忘记了真正的原始来源。

    以下是一些相关链接: