我试图通过代码后面的asp按钮点击事件调用javascript函数,但我没有工作

问题描述 投票:0回答:1

我的.aspx页面上有一个JavaScript函数

<script type="text/javascript">
function openCity(evt, cityName) {
    var i, tabcontent, tablinks;
    tabcontent = document.getElementsByClassName("tabcontent");
    for (i = 0; i < tabcontent.length; i++) {
        tabcontent[i].style.display = "none";
    }
    tablinks = document.getElementsByClassName("tablinks");
    for (i = 0; i < tablinks.length; i++) {
        tablinks[i].className = tablinks[i].className.replace(" active", "");
    }
    document.getElementById(cityName).style.display = "block";
    evt.currentTarget.className += " active";
}</script>

我有一个asp按钮

<asp:Button ID="Button2" runat="server" Text="submit" OnClick="Button2_Click" />

在.aspx.cs页面上我写了这段代码

 protected void Button2_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), System.Guid.NewGuid().ToString(), "openCity(event, 'Tokyo');", true);
}

但它没有奏效!!!

javascript asp.net
1个回答
0
投票

我也多次遇到类似的问题,大部分时间跟随2个解决方案帮助我在点击按钮后使javascript工作:

  1. 确保在aspx页面中的控件声明之后写入脚本块。例如

<body>
<asp:Button ID="Button2" runat="server" Text="submit" OnClick="Button2_Click" />
:
:
:
<!--other HTML stuff-->
<script>
//Put your script here
</script>
</body>
  1. 如果以上不起作用,请尝试使用javascript超时功能。例如 protected void Button2_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(),System.Guid.NewGuid().ToString(), "setTimeout('openCity(event,\'Tokyo\'), 200);", true); }

希望这对你现在有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.