这个功能如何实现?

关于repeater嵌套的问题,里面的repeater如何得到外面的字段值?里面的repeater如下:<asp:RepeaterID="rptCDAttributes"... 关于repeater嵌套的问题,里面的repeater如何得到外面的字段值?
里面的repeater如下:
<asp:Repeater ID="rptCDAttributes" runat="server" DataSource=<%#GetCDAttributes()%>>
<ItemTemplate>
<tr>
<td style="height:30px; text-align:left;"><%#Eval("Name")%> +<%#Eval("price")%></td>
<td align="left">
<input type="checkbox" id="CDAttributes<%#Eval("ididex")%>" class="no" runat="server" value=<%#Eval("ididex")%>/>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
其中id="CDAttributes<%#Eval("ididex")%>" 在这里是区别了,但是外面的repeater执行完还是出现了
CDAttributes1 CDAttributes2 CDAttributes3
CDAttributes1 CDAttributes2 CDAttributes3
这样的现象,根据id根本不能区别。
我想CDAttributes<%#Eval("ididex")%>"+外层的字段ID值
这样就能区分了,如何实现?
展开
 我来答
张春辉中国
2010-08-19 · TA获得超过203个赞
知道答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
rptCDAttributes的datasource不要这样绑定
要通过rptCDAttributes的父repeater的ItemDataBound绑定,假设父repeater是Repeater1
示例代码如下:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Repeater r2 = (Repeater)e.Item.FindControl("r2"); //子repeater
string ParentId = DataBinder.Eval(e.Item.DataItem, "id").ToString();//父id
//////////////////////
DataTable dt = new DataTable();
dt.Columns.Add("childid");
DataRow row;
row=dt.NewRow();
row["childid"]=ParentId;
dt.Rows.Add(row);
///////////////////
//以上这一段可以根据父ID select到dataset 然后绑定
r2.DataSource = dt;
r2.DataBind();

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式