关于repeater 嵌套、如何获得里面的repeater 中的控件
发布网友
发布时间:2022-04-22 21:58
我来回答
共6个回答
热心网友
时间:2022-04-24 09:09
可以用Items属性来遍历行并用FindControl进行寻找,
如下所示:在Repeater的Item Command事件下下遍历:
for(int i=0;i<repeater1.Items.Count;i++)
{
CheckBox cb=(CheckBox )repeater1.Items[i].FindControl("CheckBox1");
if(cb.Checked)
{ //相关数据处理 }
}
但是,如果在HeaderTemplate和FooterTemplate模板中的控件就*为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:
程序代码
<HeaderTemplate>
<asp:Label ID="Label1" runat="server" Text="AAAAAAA"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="Label3" runat="server" Text="BBBBBBB"></asp:Label>
</FooterTemplate>
</asp:Repeater>
下边代码示例寻找Label1和Label3:
程序代码
如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?
在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用FindControl进行寻找,
如下所示:在Repeater的Item Command事件下下遍历:
for(int i=0;i<repeater1.Items.Count;i++)
{
CheckBox cb=(CheckBox )repeater1.Items[i].FindControl("CheckBox1");
if(cb.Checked)
{ //相关数据处理 }
}
但是,如果在HeaderTemplate和FooterTemplate模板中的控件就*为力了,此时我们只能用Controls属性来解决问题。假设页面中有如下一个Repeater控件:
程序代码
<HeaderTemplate>
<asp:Label ID="Label1" runat="server" Text="AAAAAAA"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="Label3" runat="server" Text="BBBBBBB"></asp:Label>
</FooterTemplate>
</asp:Repeater>
下边代码示例寻找Label1和Label3:
程序代码
//在HeaderTemplate中寻找Label1,默认为第0个string s=((Label)Repeater1.Controls[0].FindControl("Label1")).Text;//在FooterTemplate中寻找Label2,默认为最后一个string s=((Label)Repeater1.Controls[Repeater1.Controls.Count - 1].FindControl("Label2")).Text;
热心网友
时间:2022-04-24 10:27
例如获取 repeater 里面的txtgameName文本框的输入内容
string gameName = (this.repeater .FindControl("txtgameName") as TextBox).Text.Trim();
热心网友
时间:2022-04-24 12:02
前台页面先给内层repeater加事件:OnItemDataBound="r2_ItemDataBound"
<asp:Repeater runat="server" ID="r1" OnItemDataBound="rptypelist_ItemDataBound">
<ItemTemplate>
<asp:Repeater runat="server" ID="r2" OnItemDataBound="r2_ItemDataBound">
<ItemTemplate>
<asp:Label ID="lblMore" runat="server"></asp:Label>
</ItemTemplate>
</asp:Repeater>
<asp:Label ID="lblMsg" runat="server"></asp:Label>
</ItemTemplate>
</asp:Repeater>
后台代码编写该事件:
protected void r2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// 这里找Label
Label lblMore=(Label)e.Item.FindControl("lblMore");
}
热心网友
时间:2022-04-24 13:53
这样用
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// 这里绑定 Repeater2
Repeater r=(Repeater)e.Item.FindControl("Repeater2");
//r.ItemCommand+=new RepeaterCommandEventHandler(r_ItemCommand);
//r.DataSource=lst;
//r.DataBind();
}
r 就是你需要的。
热心网友
时间:2022-04-24 16:01
循环遍历 试试吧
热心网友
时间:2022-04-24 18:26
怎么找第一层就怎么找第二层
ri的OnItemDataBound事件里找r2
r2的OnItemDataBound事件里找lblMore
关于repeater 嵌套、如何获得里面的repeater 中的控件
在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历:for(int i=0;i<repeater1.Items.Count;i++){ CheckBox cb=(CheckBox )repeater1.Items[i].FindControl("CheckBox1");if(cb.Checked){ //相关数据处...
在.net中两个Repeater嵌套的时候怎样获得里面个Repeater里的控件啊?
Repeater rep = e.Item.FindControl("里面的Repeater") as Repeater;//找到里层的repeater对象 DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 int typeid = Convert.ToInt32(rowv["qtid"]); //获取填充子类的id rep.DataSource = LiftQuestionCtr.GetSomeQue...
Repeater里面嵌套了一个子Repeater,我要获取子Repeater模板里面的值
repList_ItemDataBound 在这个里面Repeater r = (Repeater)e.Item.FindControl("repList2")foreath 找到的这个Repeater 就能获取到了
...绑定数据源,如何同时获得Repeater中的控件?
只能在Repeater的ItemDataBound事件中,用FindControl方法获取,然后重新绑定,在其它地方用FindControl方法不行的。比如在事件中可以这样写 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){ Button btn = (Button)e.Item.FindControl("btnDetail");int...
repeater 嵌套如何获取子repeater 的值
同样,你可以通过控件找到Repeater代码如下:Repearter rpt= (Repearter )e.Item.FindControl("Repeater的ID")剩下的一样了 你不是已经知道了吗?注释去掉,剩下的和操作web控件的是一样的 if (e.RowIndex >=0){ string id = ((Label)(rpt2.Items[e.Item.ItemIndex].FindControl("hotelTypeid"...
Repeater控件嵌套 如何取到子控件(rpt2)的值 (在rpt2_ItemDataBound中...
同样,你可以通过控件找到Repeater代码如下:Repearter rpt= (Repearter )e.Item.FindControl("Repeater的ID")剩下的一样了 你不是已经知道了吗?注释去掉,剩下的和操作web控件的是一样的 if (e.RowIndex >=0){ string id = ((Label)(rpt2.Items[e.Item.ItemIndex].FindControl("hotelTypeid"...
Repeater里面嵌套一个Repeater 请高手明示~! 很急很急~!~!
下面是我之前写的一个datalist嵌套datalist的例子,与repeater一样,你参考一下 最近老是有人问这个问题,其实这个问题细细想来其实就是把一个DataList(childTabaList)写在一个dataList(parentDataList)的<ItemTemplate></ItemTemplate>中,然后再对datalist进行绑定,下面就是如何实现的代码:前台:<asp...
repeater里套repeater怎么找到里面的repeater?
Repeater rpt = e.Item.FindControl("rptdetail") as Repeater;这样看看,保证你的rptdetail名称正确.
JS如何得到Repeater控件里面input控件的ID
首先Repeater里服务器控件ID的命名方式是 Repeater.ClientID_ctl行号_控件名 行号是从00开始的两位数00 01 02... 如 Repeater1_ctl00_lblBegin 表示Repeater里第一行lblBegin的ID 给你写个例子你就明白了 代码如下 <%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <!
嵌套内的repeater没有定义
你直接获取HotCompanies_1当然是获取不到了,因为现在它在HotCompanies的Items中,可以通过这样的方法来绑定你嵌套的Repeater,还是在HotCompanies的ItemDataBound事件中写:if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item){ Repeater Companies_1=(Repeater)e....