【问题标题】:gridview cancel row selection when row has controls当行有控件时,gridview取消行选择
【发布时间】:2011-10-24 17:21:28
【问题描述】:

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

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

此代码运行良好,但是当我在 gridview 行中有一个链接或按钮时,一旦单击该链接或按钮,就会发生回发并覆盖链接或按钮操作。

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

以下解决方案我没有成功测试过:

  • return false;
  • 带有event.stopImmediatePropagation 的jQuery 可以工作,但我使用分页,因此事件不会绑定到新页面。
  • 带有.live("click", function(){...}); 的jQuery 可用于分页,但livedelegate 不支持event.stopImmediatePropagation

【问题讨论】:

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


    【解决方案1】:

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

    把它放在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;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多