【问题标题】:Checkbox loses HTML5 attributes on postback?复选框在回发时丢失 HTML5 属性?
【发布时间】:2014-10-26 13:07:05
【问题描述】:

在Repeater 控件中,我将自定义HTML5 属性添加到ItemDataBound 上的所有复选框,以识别它所属的行,以及它的父复选框(如果有)。例如,下面的复选框 html 指示 Great British & Ireland 复选框的行 ID,它还指示 EMEA 复选框是 Great British & Ireland 复选框的父级。

<input id="ctl00_CP1_salesControl_rptTotalSales_ctl01_cbActivated" type="checkbox" 
  name="ctl00$CP1$salesControl$rptTotalSales$ctl01$cbActivated" checked="checked"
  data-row-id="ctl00_CP1_salesControl_rptTotalSales_ctl01_row" 
  data-control-id="activation-checkbox" 
  data-parent-checkbox-id="ctl00_CP1_salesControl_rptTotalSales_ctl00_cbActivated"> 

但是,当我单击一个回发到服务器以验证数据的按钮时,这些自定义属性会丢失,我只剩下以下内容:

<input id="ctl00_CP1_salesControl_rptTotalSales_ctl01_cbActivated" type="checkbox" 
 name="ctl00$CP1$salesControl$rptTotalSales$ctl01$cbActivated" checked="checked">

奇怪的是下拉列表和文本框,也包含添加到 ItemDataBound 上的自定义属性,在回发后保留这些属性。有什么想法吗?

【问题讨论】:

  • ItemDataBound 事件是否在回发时触发?如果没有,那为什么会有这些属性呢?

标签: asp.net .net postback


【解决方案1】:

检查启用复选框的视图状态是否可以解决此问题

【讨论】:

  • 不幸的是,这不起作用。但是,我可以通过将控件更改为常规 HTML 复选框来消除此问题,例如 &lt;input type="checkbox" runat="server" ID="cbActivated" checked='&lt;%#Item.IsActivated%&gt;'/&gt;
猜你喜欢
  • 2010-12-07
  • 1970-01-01
  • 2011-11-22
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 2010-12-27
  • 1970-01-01
相关资源
最近更新 更多