如何遍历这种情况下的checkbox,求教
aspx代码为:<formid="xxx"runat="server"><asp:Repeaterid="rpt"runat="server"><inputtype="c...
aspx代码为:
<form id="xxx" runat="server">
<asp:Repeater id="rpt" runat="server">
<input type="checkbox" runat="server" />
</asp:Repeater>
</form>
C#代码为:
foreach (Control ct in xxx.Controls)
{Response.Write(ct.GetType().ToString());}
输出结果中没有System.Web.UI.HtmlControls.HtmlInputCheckBox
就算
foreach (Control ct in rpt.Controls)
{Response.Write(ct.GetType().ToString());}
输出中也没有System.Web.UI.HtmlControls.HtmlInputCheckBox
求教怎么解决。万谢!
<asp:Repeater id="rpt" runat="server"> 的数据源是一个Datareader,大概有几十条数据。
1L的朋友,我使用
foreach (Control ct in rpt.Controls)
{Response.Write(ct.GetType().ToString());}
的话,只会出现一大堆System.Web.UI.WebControls.RepeaterItem
而在repeater中的checkbox却遍历不到,所以我很奇怪。
<ItemTemplate>肯定是有的,上面没有写罢了。
那些C#代码是用页面上一个按钮触发的。 展开
<form id="xxx" runat="server">
<asp:Repeater id="rpt" runat="server">
<input type="checkbox" runat="server" />
</asp:Repeater>
</form>
C#代码为:
foreach (Control ct in xxx.Controls)
{Response.Write(ct.GetType().ToString());}
输出结果中没有System.Web.UI.HtmlControls.HtmlInputCheckBox
就算
foreach (Control ct in rpt.Controls)
{Response.Write(ct.GetType().ToString());}
输出中也没有System.Web.UI.HtmlControls.HtmlInputCheckBox
求教怎么解决。万谢!
<asp:Repeater id="rpt" runat="server"> 的数据源是一个Datareader,大概有几十条数据。
1L的朋友,我使用
foreach (Control ct in rpt.Controls)
{Response.Write(ct.GetType().ToString());}
的话,只会出现一大堆System.Web.UI.WebControls.RepeaterItem
而在repeater中的checkbox却遍历不到,所以我很奇怪。
<ItemTemplate>肯定是有的,上面没有写罢了。
那些C#代码是用页面上一个按钮触发的。 展开
展开全部
rpt下面有Items属性是RepeaterItem对象的集合
<asp:Repeater id="rpt" runat="server">
<input type="checkbox" runat="server" />
</asp:Repeater>
每个RepeaterItem中有Controls属性,你要checkbox就在这里面
不过Repeater控件会在每项中自动生成前后两个LiteralControl
也就是说
RepeaterItem包括:
LiteralControl、CheckBox、LiteralControl
三个控件
你要找的CheckBox就在中间
<asp:Repeater id="rpt" runat="server">
<input type="checkbox" runat="server" />
</asp:Repeater>
每个RepeaterItem中有Controls属性,你要checkbox就在这里面
不过Repeater控件会在每项中自动生成前后两个LiteralControl
也就是说
RepeaterItem包括:
LiteralControl、CheckBox、LiteralControl
三个控件
你要找的CheckBox就在中间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach (Control control in PanelRoles.Controls)//判断要添加的角色
{
if (control is CheckBox)
{
CheckBox cb = (CheckBox)control;
if (cb.Checked == true)
{
string name = cb.Text.Trim();
}
}}我的checkbox放在panel中 你的在reqeart应该差不多 你的repeat少了<ItemTemplate></ItemTemplate>
for(int i=0;i<this.RPMsg.Items.Count;i++)
{
CheckBox CHB = (CheckBox)RPMsg.Items[i].FindControl("SelectMsgOneCB");
}
或者 foreach (RepeaterItem i in repeater.Items)
{
CheckBox cb = (CheckBox)i.FindControl("CheckBox1");
cb.Checked = false;
}
要先取得repeat的项才行的
{
if (control is CheckBox)
{
CheckBox cb = (CheckBox)control;
if (cb.Checked == true)
{
string name = cb.Text.Trim();
}
}}我的checkbox放在panel中 你的在reqeart应该差不多 你的repeat少了<ItemTemplate></ItemTemplate>
for(int i=0;i<this.RPMsg.Items.Count;i++)
{
CheckBox CHB = (CheckBox)RPMsg.Items[i].FindControl("SelectMsgOneCB");
}
或者 foreach (RepeaterItem i in repeater.Items)
{
CheckBox cb = (CheckBox)i.FindControl("CheckBox1");
cb.Checked = false;
}
要先取得repeat的项才行的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
foreach(RepeaterItem item in rpt.Items)
{
checkbox ch=((checkbox)item.Controls[0].FindControl('checkbox的id'));
}
祝您愉快!接分。不懂的话:QQ:419148595
{
checkbox ch=((checkbox)item.Controls[0].FindControl('checkbox的id'));
}
祝您愉快!接分。不懂的话:QQ:419148595
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询