GridView在行级别上选择和删除命令冲突



我们在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控制工具包),但现在这两个操作发生冲突,当我单击删除按钮时,删除操作将挂起。单击删除按钮后,select将被激发为同一行的一部分(为select调用Begin Request/End Request),然后(为delete Operation调用Begin Request,End Request从未发生)。因此,操作挂起。

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

我一直因为这个问题而发疯,任何帮助都是感激的。更新:还是卡住了,知道吗?

Gaurav Tarey

你能观察到&共享浏览器的错误控制台(不确定IE)尝试firefox并捕获它。

我认为F12>>脚本>>控制台也应该在IE中工作

只是使用了不同的事件而不是onClick,这只是一个变通方法,不是一个合适的解决方案。微软应该停止制作IE.

最新更新