【问题标题】:GridView Select and delete Command conflicting at row levelGridView 选择和删除命令在行级别冲突
【发布时间】:2013-06-26 10:30:50
【问题描述】:

我们在 gridview 中处理以下两种情况:

1) 在“onRowCreated”事件中附加 onclick 处理程序,以便在单击网格的行时触发 selectIndexChanged 事件。为每一行运行代码。

e.Row.Attributes.Add("onClick", Page.ClientScript.GetPostBackEventReference(this, "Select$" + e.Row.RowIndex.ToString()));

2) 还将网格第一个单元格中图像按钮的命令名称设置为“删除”,以便在单击图像按钮时触发网格删除事件。

<ItemTemplate>
     <ImageButton ID="imbDelete" CommandName="Delete" runat="server" SkinID="DeleteButton" ToolTip="Delete" CausesValidation="false" />
</ItemTemplate>  

在升级到 .net 4.5 之前,所有这些场景都运行良好(也更新了 ajax 控制工具包),但是现在这两个操作发生冲突,当我单击删除按钮时删除操作挂起。单击删除按钮后,选择作为同一行的一部分被触发(开始请求/结束请求被调用为选择),然后(开始请求删除操作被调用,结束请求永远不会发生)。因此,操作挂起。

  • 仅当解决方案部署在 IIS 上时才会发生这种情况。在 ASP.NET 开发服务器上运行良好。
  • 仅适用于 IE,所有版本。在其他浏览器中它工作正常。
  • 当我单击行时,会调用事件 selectedIndexChanged。但是,当单击位于 row 单元格中的删除按钮时,操作会挂起并且不会调用任何事件。

因为这个问题,我一直在发疯,感谢任何帮助。 更新:仍然卡住了,有什么想法吗?

高拉夫·塔雷

【问题讨论】:

  • 这可能与框架在看到某些关键字时接管有关,例如使用“删除”。也许可以尝试使用您自己的单词变体,这样您就知道它的含义,但框架会忽略它?
  • @FullTimeSkeleton,我也尝试使用自己的关键字,然后使用 RowCommand 事件来处理它,但结果相同:( .
  • 您是使用 OnRowCommand 来捕获删除还是 onClick?
  • 当我们使用 'delete' 关键字作为命令名称并在网格中指定 OnRowDeleting 事件时,.net 会在单击按钮时自动查找此事件。如果名称是其他名称,您可以在 OnRowCommand 中检查它。我都试过了,都不管用。
  • 不要以为您的 gridview 上有 AllowCustomPaging = true 是吗?我记得将其视为可能影响新转移的 4.5 项目的问题。很奇怪,但可能就是这样。

标签: asp.net ajax events gridview updatepanel


【解决方案1】:

你能观察和分享浏览器的错误控制台吗(不确定IE)试试firefox并捕获它..

我认为 F12 >> script>>Console 也应该在 IE 中工作

【讨论】:

  • 错误控制台中没有任何内容,只有超时消息在设置时间后出现。 :(
【解决方案2】:

只是使用了不同的事件而不是 onClick,这只是一种解决方法,而不是正确的解决方案。微软应该停止制作 IE。

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 2015-08-27
    • 1970-01-01
    • 2014-07-13
    • 2010-12-02
    • 2018-09-09
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多