我有一个页面,如果 IsPostBack 为真,则调用一个获取屏幕大小的 javascript 函数,将宽度和高度传递给隐藏字段,然后单击一个按钮以导致 PostBack。所以我可以检索用户屏幕的大小,然后用默认数据加载页面,表格大小合适等。
总是,当页面(已回发一次)显示数据时,会填充一个网格视图。每行都有一个“删除”链接按钮。每个链接按钮都设置为 OnClientClick 以调用 javascript 函数来确认您要删除。
网格上方是一排文本框/按钮/下拉列表,可让您搜索或过滤显示的数据。Gridview 位于更新面板中。当页面首次加载其数据并显示项目列表时,删除链接按钮一切正常。每一行都没有问题。将显示 Confirm 框,如果选择 Okay,则会发生异步回发。
如果在显示初始数据后(已经在一次回发之后),您然后使用搜索框和按钮,或使用下拉列表过滤数据(搜索按钮和过滤器 DropDownList 是 UpdatePanel 的异步触发器)数据刷新好的(总是)但是,有时,GridView 每一行中的“删除”LinkButton 什么都不做。它甚至不会触发 ClientSide 功能。就好像它已经死了一样。
前段时间我在 ImageButtons 上遇到了类似的问题,并且收到的智慧似乎是“将它们更改为 LinkButtons”。但是我有几十个带有“删除”链接按钮的网格可以正常工作,但是这个已经决定停止工作 - 有时。
我不得不说,自从迁移到 Framework 4.0 以来,我正在考虑放弃 UpdatePanels。在 Framework 2.0 中可靠运行多年的网站似乎只有问题
请问有什么想法吗?这与在第二次回发中加载控件的顺序有关吗?
编辑:这有一个转折点。当这种情况发生时,即单击删除链接甚至不会触发客户端事件 - 如果您单击 Gridview 之外的页面区域(即在 UpdatePanel 之外) - 然后再单击删除链接 - 它可以工作!