当行具有控件时,gridview取消行选择

时间:2011-08-11 07:04:00

标签: c# jquery asp.net gridview asp.net-2.0

我在ASP.net 2.0中有一个gridview,它有一个很小的javascript代码,当你单击该行时,它将被选中。

cell.Attributes.Add("onClick", Page.ClientScript.GetPostBackClientHyperlink(this, "Select$" + row.RowIndex.ToString()));

这段代码很完美,但是当我在gridview行中有一个链接或按钮时,只要点击它,就会发生回发并覆盖链接或按钮操作。

我的问题,知道有人取消行javascript onclick事件的解决方案吗?

以下解决方案未成功测试:

  • return false;
  • jQuery与event.stopImmediatePropagation有效,但我使用分页,因此事件不会绑定到新页面。
  • .live("click", function(){...});的jQuery使用分页,但event.stopImmediatePropagationlive不支持delegate

1 个答案:

答案 0 :(得分:0)

好的,我找到了以下解决方案:

将它放在gridview中的控件中:

... onClientClick="return ShowSomething(this);" ...

这在页面/头部:

function ShowSomething(elm) {
    var e = new jQuery.Event(window.event);
    e.preventDefault();
    e.stopPropagation();
    e.stopImmediatePropagation();  // Stop now!!!

    var that = jQuery(elm);

    return false;
}