更新面板中的LinkBut​​ton甚至不会触发客户端事件

时间:2013-08-09 16:11:42

标签: asp.net gridview linkbutton

我有一个页面,如果IsPostBack为true,则调用一个获取屏幕大小的javascript函数,将宽度和高度传递给隐藏字段并单击按钮以导致PostBack。因此,我可以检索用户屏幕的大小,然后使用默认数据加载页面,并使用正确大小的表格等。

当页面(已经回发一次)显示数据时,总是会填充网格视图。每行中都有一个“删除”链接按钮。每个链接按钮都设置为OnClientClick以调用javascript函数以确认您要删除。

网格上方是一行文本框/按钮/下拉列表,可用于搜索或过滤显示的数据。 Gridview位于更新面板中。当页面首次加载其数据并显示项目列表时,删除链接按钮都可以正常工作。在每一排,没问题。将显示“确认”框,如果选择“正常”,则会发生异步回发。

如果在显示初始数据后(已经在一次回发之后),则使用搜索框和按钮,或使用下拉列表过滤数据(“搜索”按钮和过滤器DropDownList是UpdatePanel的异步触发器)数据刷新好(总是)但是,有时,GridView的每一行中的'删除'LinkBut​​ton什么都不做。它甚至不会激活ClientSide功能。好像它已经死了。

前一段时间我和ImageButtons有类似的问题,并且收到的智慧似乎是“将它们改为LinkBut​​tons”。但是我有几十个带有'删除'LinkBut​​tons的网格可以正常工作,但是这个网站决定停止工作 - 有时候。

我不得不说,自从迁移到Framework 4.0之后,我正在考虑放弃UpdatePanels。似乎只有在Framework 2.0中可靠运行多年的网站存在问题

有什么想法吗?这与第二个回发中加载控件的顺序有什么关系吗?

编辑:这有一个扭曲。发生这种情况时,即单击“删除”链接甚至不会触发客户端事件 - 如果单击Gridview外部的页面区域(即在UpdatePanel外部) - 然后单击“删除”链接 - 它可以正常工作!

1 个答案:

答案 0 :(得分:1)

关于ImageButtons:IE10存在一个错误:ASP.NET无法检测IE10导致_doPostBack未定义JavaScript错误或维护FF5滚动条位置(http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx)。只需升级到.NET 4.5。

关于LinkBut​​tons:你有“ID”属性吗?我记得我有类似的问题因为我的linkBut​​ton没有ID。

你能发一些代码吗?这会有所帮助。