0

我在 GridView 中有链接按钮。GridView 有客户端事件-rowselect。当我单击 LinkBut​​ton 时,会触发客户端事件 (rowselect)。当我单击 LinkBut​​ton 时,我想停止触发 rowselect 客户端事件。

有什么解决办法吗?

例如。

GridView 有 3 行 2 列

Column 1 ---- Column 2 [LinkButton]
AAAAAA   ---- test.aspx?ID=001
BBBBBB   ---- test.aspx?ID=002
CCCCCC   ---- test.aspx?ID=003

Client Side JavaScript (fired on GridView row selection)
function DisplayData(gridview row)
{
  //get data from selected row.
}

如果选择行的第一列,调用客户端事件,就可以了。但是当单击 LinkBut​​ton 时,重定向到 test.aspx .. 客户端事件没有触发。

4

2 回答 2

0

向您添加一个单击处理程序,以LinkButton防止事件冒泡。使用event.stopPropagation(). 对于较旧的 IE 浏览器,请使用event.cancelBubble = true

<asp:LinkButton runat="server" OnClientClick="cancelClick(event)" ... />
function cancelClick(e) {
    if (e.stopPropagation) e.stopPropagation();
    e.cancelBubble = true;
}
于 2013-01-03T06:13:49.267 回答
0

您可以使用 event.stopPropagation 来停止事件传播。对于不支持的旧浏览器,e.stopPropagation()您可以使用e.cancelBubble = true

document.getElementById("<%= yourRadDatePickerID.ClientID %>").onclick = function(e) {

    if(e && e.stopPropagation ) 
    {
        e.stopPropagation();
    } 
    else
    {
          e = window.event;
          e.cancelBubble = true;
    }
}
于 2013-01-03T06:09:24.620 回答