C# 打开新窗口的栅格视图超链接

C# 打开新窗口的栅格视图超链接,c#,asp.net,asp.net-mvc-4,c#-4.0,C#,Asp.net,Asp.net Mvc 4,C# 4.0,我在网格视图中有一个超链接。我想在单击“超链接”时打开一个新窗口。我能打开一扇新窗户。但是模式弹出窗口也会随之打开。当我点击超链接时,弹出窗口不应该打开。当我单击行时,它应该是打开的。不是作为网格视图行一部分的超链接 受保护的void GridView_RowDataBound(对象发送方,GridViewRowEventArgs e) { 如果(e.Row.RowType==DataControlRowType.DataRow) { SearchResult data

我在网格视图中有一个超链接。我想在单击“超链接”时打开一个新窗口。我能打开一扇新窗户。但是模式弹出窗口也会随之打开。当我点击超链接时,弹出窗口不应该打开。当我单击行时,它应该是打开的。不是作为网格视图行一部分的超链接

受保护的void GridView_RowDataBound(对象发送方,GridViewRowEventArgs e) { 如果(e.Row.RowType==DataControlRowType.DataRow) {

            SearchResult data = e.Row.DataItem as SearchResult;

             // Add click to open modal 
            e.Row.Attributes.Add("onclick", string.Format("showDetail('{0}','{1}','{2}','{3}');", data.Number, data.System, customerNumber, customer.CustomerNumber));

            // Choose background color
            DefineBackgroundColor(e, data);


            AddAccLink(e, data);


            AddJumpTomain(e, data);
        }
    }
私有void AddJumpTomain(GridViewRowEventArgs e,搜索结果数据) { //信息跳转 HyperLink jumpToPol=e.Row.FindControl(“jumpToPol”)作为超链接

        if (jumpToPolicy != null)
        {



                    string link = string.Format(Configuration.PolUrl, IdentityProvider.CurrentUser.GetUserName(), customerNumber, data.PolNumber);
                    jumpToPol.NavigateUrl = link;
                    //jumpToPol.Attributes.Add("onclick", "javascript:cancelEventPropagation(event);return true;");
                    jumpToPol.Attributes.Add("onclick", "javascript:window.open(" + link + ");return false;");

                }
                else
                {
                    jumpToPol.Visible = false;
                }
            }
        }

首先触发哪个单击事件?您可以在JavaScript中检查是否已单击超链接,如果是,则抑制该行的单击事件


这有点奇怪…在行中有超链接,甚至在整行上附加一个单击。

首先单击超链接。但是如何用行单击事件分离超链接。我认为有多个选项。你可以检查窗口是否已打开,如果是,则不打开模式弹出窗口。或者你引入了一个标志h您在超链接单击时设置为true,并在行单击时检查它,如果为true,则跳过所有内容,但确保在事件处理程序的末尾将标志设置为false…并且可能还有更多解决方案,这取决于哪个解决方案最适合您的业务需要请参阅前面的注释。模式弹出窗口打开first、 你能给我一些经验吗。