2017-03-08 47 views
0

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

HTML按钮

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

ASP按钮

<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"); 
};} 
+0

参见[如何改变页面的JavaScript(HTTP://计算器.COM /问题/ 3846935 /如何对变化页由内而外地的JavaScript)。 – mason

+0

@mason - >在评论之前先尝试解决方案。 OnClientClick =“see_16(); return false;”与OnClientClick =“return SomeMethod();”一样。 – Sailor

+0

@Sailor他没有正确地更改页面位置。 – mason

回答

1

服务器端ASP.NET的按钮即可调用postback事件。所以你需要禁用postback。这工作,只要你想:

OnClientClick="see_16();return false;" 

当然随着@ajai Jothi也说你JS应该是这样的:

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

非常感谢你的配合。为我工作得很好 –

-1

'window.location.href'不是一个函数

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

这只是答案的一部分,并没有解决回发问题。 – mason

+0

此外,您可以通过更详细地解释事情来提高此答案的质量,而不仅仅是代码解答。 –

-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>