0

我有一个 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','')

在新的标签网址上。感谢您的帮助。

4

1 回答 1

0

这应该是任何合理浏览器的标准行为,并不是真正的 ASP.NET 或脚本问题 - 问题是您使用的是链接按钮,它会像按钮(即<input type=submit>)一样进行回发,它是不是默认的 a元素中的链接。

如果您的链接真的只是这样,并且不希望发回服务器以执行某些逻辑,而只是指定要链接到的 URL,那么请改用HyperLink控件。

于 2013-03-22T10:28:01.913 回答