我有一个gridview,其中包含一个ID为LnkCourseName
我要求只需点击鼠标的中键,就会打开一个新标签。
检查点击鼠标的哪个按钮,我使用了javascript函数:
<script type="text/javascript">
function buttonalert(event) {
var button;
if (event.which == null)
button = (event.button < 2) ? leftclickclear() :
((event.button == 4) ? middleclickclear() : rightclickclear());
else
button = (event.which < 2) ? leftclickclear() :
((event.which == 2) ? middleclickclear() : rightclickclear());
dont(event);
}
function leftclickclear() {
$('#<%=HdUrl.ClientID %>').val("left");
}
function rightclickclear() {
$('#<%=HdUrl.ClientID %>').val("right");
}
function middleclickclear() {
$('#<%=HdUrl.ClientID %>').val("middle");
}
function dont(event) {
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
}
</script>
但是按下中间按钮我收到错误
的javascript:__ doPostBack( 'DNN $ $ ctr538 $ ViewTC_TakeAClass $ GrdCourseDetail $ ctl02 LnkCourseName', '')
在新标签页上。感谢您的帮助。
答案 0 :(得分:0)
这应该是任何合理浏览器的标准行为,并且实际上不是ASP.NET或脚本问题 - 问题是您使用链接按钮,这将进行回发就像一个按钮(即<input type=submit>
),它不是默认 a 元素中的链接。
如果您的链接确实是这样,并且不希望回发到服务器执行某些逻辑,而只是指定要链接的URL,那么请改用HyperLink
控件。