OnClientClick不起作用

时间:2017-03-08 17:39:22

标签: javascript c# html asp.net

我有2个相同的按钮相同的属性,区别在于1是asp按钮而另一个是HTML按钮,我正在尝试重定向到另一个页面,并且HTML按钮工作正常,但asp按钮由于某种原因没有重定向。我已经重新创建了asp按钮,看它是否是visual studio bug,但事实并非如此。我不需要使用asp控件,但只是想知道我做错了什么。这是我的代码示例:

HTML按钮

<button type="button" id="Btn_16" 
        class="btn btn-block btn-lg btn-danger butao" onclick="see_16()">16 </button>

asp Button

<asp:Button ID="Btn_16" runat="server" Text="16"
      CssClass="btn btn-block btn-lg btn-danger butao" OnClientClick="see_16()" />

DIV就像一个按钮(也有效)

<div id="Btn_16" class="btn btn-block btn-lg btn-danger butao" onclick="see_16()">16</div>

所有控件都具有相同的名称,但在我的代码中,它们被注释,因此这不是问题。

see_16 javascript功能:

function see_16() {
{
    window.location.href("16.aspx");
};}

3 个答案:

答案 0 :(得分:1)

服务器端ASP.NET按钮始终调用postback事件。所以你需要禁用postback。这可以按你的方式工作:

OnClientClick="see_16();return false;"

当然,@ ajai Jothi也说过JS应该是这样的:

window.location.href = "16.aspx";

答案 1 :(得分:-1)

'window.location.href'不是函数

function see_16() {
   window.location.href = "16.aspx";
}

答案 2 :(得分:-1)

该按钮的

OnClientClick=SomeMethod()事件,默认返回true所以在该函数之后它会回发。

供溶液使用:

//use this code in BUTTON  ==>   OnClientClick="return SomeMethod();"

//and your function like this

<script type="text/javascript">
  function SomeMethod(){
    // put your code here 
    return false;
  }
</script>