我有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");
};}
答案 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>