我使用htmlgenericcontrol和runat =" server"创建了一些div,label和checkbox。这些动态创建的div添加在设计时创建的主div内。 现在,我想在页面加载时使用c#访问动态创建的div内的复选框。 使用c#创建的动态div看起来像这样 -
<div id='firstdiv'>
<div id='seconddiv'>
<label id='lbl' >
<input type="checkbox" id="chk" value="check" runat="server">
<div id='thirddiv'></div>
</label>
</div></div>
我尝试了下面的选项,但没有一个工作 -
HtmlGenericControl chkfirstdiv = HtmlGenericControl)maindiv.FindControl(strchkfirstdiv)as HtmlGenericControl;
HtmlGenericControl chkfirstdiv1 = HtmlGenericControl)FindControl(strchkfirstdiv)为HtmlGenericControl;
LiteralControl literalControl = LiteralControl)maindiv.FindControl(strchkfirstdiv);
任何人都可以帮助访问动态div中的动态复选框吗?
答案 0 :(得分:0)
对于WebForms,您应该将控件创建为<asp:Checkbox Id="MyCheckbox" runat="server" Text="Check" />
,并且设计器应该为您生成Checkbox MyCheckbox
,并且它的Checked
属性将在回发时填充,而无需调用FindControl(。 )。
答案 1 :(得分:0)
asp按钮将根据其名称而不是ID进行访问,因此在<asp:Checkbox Id="MyCheckbox" name="myCheckBox" runat="server" Text="Check" />
之类的复选框定义中放置一个name属性,并在click事件的后端访问myCheckBox