【问题标题】:LinkButton in update panel does not even fire client side event更新面板中的 LinkBut​​ton 甚至不会触发客户端事件
【发布时间】:2013-08-09 16:11:41
【问题描述】:

我有一个页面,如果 IsPostBack 为真,则调用一个获取屏幕大小的 javascript 函数,将宽度和高度传递给隐藏字段,然后单击一个按钮以引发 PostBack。所以我可以检索用户屏幕的大小,然后用默认数据加载页面,表格大小合适等。

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

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

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

不久前我在使用 ImageButtons 时遇到了类似的问题,并且收到的智慧似乎是“将它们更改为 LinkBut​​tons”。但是我有几十个带有“删除”链接按钮的网格可以正常工作,但是这个已经决定停止工作 - 有时。

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

有什么想法吗?这与在第二次回发时加载控件的顺序有关吗?

编辑:这有一个转折点。当这种情况发生时,即单击删除链接甚至不会触发客户端事件 - 如果您单击 Gridview 之外的页面区域(即在 UpdatePanel 之外) - 然后单击返回链接 - 它可以工作!

【问题讨论】:

    标签: asp.net gridview linkbutton


    【解决方案1】:

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

    关于链接按钮:你有“ID”属性吗?我记得我遇到过类似的问题,因为我的 linkBut​​ton 没有 ID。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多