【问题标题】:Dynamically generated anchor does not post back when id is populated填充 id 时动态生成的锚点不会回发
【发布时间】:2013-09-09 16:46:12
【问题描述】:

奇怪。似乎每当我填充动态生成的 htmlanchor 的 id 属性时,回发方法就会停止工作。

        Dim ancAction As New HtmlAnchor
        AddHandler ancAction.ServerClick, AddressOf HandleEditClick
        ancAction.ID = "edit:" & x.xId
        divAction.Controls.Add(ancAction)

当我注释掉填充 id 属性的行时,HandleEditClick 将触发。

任何帮助将不胜感激。

【问题讨论】:

  • 可能是因为手动设置时ID不再唯一。如果不是唯一 ID,ASP.NET 不知道哪个控件被触发。

标签: asp.net vb.net webforms


【解决方案1】:

请勿在 ID 中使用冒号。确保您的 ID 是字母数字的,显然 __doPostback 不喜欢它。

顺便说一句,如果您使用“编辑:”表示法作为稍后在代码中知道特定的“x.xId”:需要编辑(您通过“:”拆分字符串以获取命令和参数)有更好的方法.代替 HtmlAnchor 使用 LinkBut​​ton,处理 LinkBut​​ton_Command 事件并将“Edit”作为 CommandName 和 x.xId 作为 CommandArgument 传递。

【讨论】:

  • 我更改了 id 以删除冒号,这样就成功了。谢谢你,尤里。是的,看起来 __doPostback 是那样的挑剔。非常感谢您的额外建议!
猜你喜欢
  • 1970-01-01
  • 2013-05-24
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2020-04-13
相关资源
最近更新 更多