【问题标题】:How we can call javascript function from code-behind in asp.net?我们如何从 asp.net 中的代码隐藏调用 javascript 函数?
【发布时间】:2014-01-18 12:51:52
【问题描述】:


我有这个 javascript 函数:

function showLoader() {
           document.getElementById("loaderState").style.display = 'inline';
       }


我有一个按钮:

<asp:Button ID="btnSignUp" runat="server" Text="Sign Up" OnClick="btnSignUp_Click" />


我正在尝试在后面的代码中调用该 js 函数:

protected void btnSignUp_Click(object sender, EventArgs e)
{
    try
    {
        int i = users.AddNewUser();
        if (i != 0)
        {
            Page.ClientScript.RegisterStartupScript(
                GetType(),
                "btnSignUp",
                "showLoader();",
                true);
        }
    }
    catch (Exception exp)
    {
        throw exp;
    }
}


但是没用!!!为什么?
谢谢。

【问题讨论】:

  • 您是否尝试过评论btnSignUp_Click 中的所有内容,然后只添加这一行:Page.ClientScript.RegisterStartupScript(GetType(), "btnSignUp", "showLoader();", true);?可能是因为i 的值为 0
  • 不,我确定我不是 0
  • 我测试了所有代码,但 if(i != 0) 工作正常。
  • 我使用了更新面板。如果使用 onclientclick="showLoader()" 它工作正常,但如果从后面的代码调用它就不起作用。

标签: c# javascript asp.net


【解决方案1】:

用途:

 ScriptManager.RegisterStartupScript(
 this,
 GetType(), 
"btnSignUp",
"showLoader();",
 true);

查看这些类似的问题:

ScriptManager.RegisterStartupScript code not working - why?

ClientScript.RegisterStartupScript not working

ScriptManager.RegisterStartUpScript(...) not working

【讨论】:

    【解决方案2】:

    试试这个

    protected void btnSignUp_Click(object sender, EventArgs e)
    {
        try
        {
            int i = users.AddNewUser();
            if (i != 0)
            {
    ScriptManager.RegisterStartupScript(this, GetType(), "btnSignUp", "showLoader()", true);
    
            }
        }
        catch (Exception exp)
        {
            throw exp;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多