Repeater控件嵌套 如何取到子控件(rpt2)的值 (在rpt2_ItemDataBound中)

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:26:08
protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
BLL.Type blltype = new BLL.Type();

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpt2 = (Repeater)e.Item.FindControl("rpt2");
//找到分类repeater关联的数据项
Model.hotelInfo info = (Model.hotelInfo)e.Item.DataItem;
//提取分类id
int hotelid = info.hotemID;
//根据分类id查询该分类下的产品,并绑定产品repeater
DataSet ds = blltype.GetTypeByHotemid(hotelid);
rpt2.DataSource = ds.Tables[0].DefaultView;
rpt2.DataBind();
}
}

protected void rpt2_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//if (e.CommandName == "imgid")
//{
// string id = ((Label)(rpt2.Items[e.Item.ItemIndex

同样,你可以通过控件找到Repeater代码如下:
Repearter rpt= (Repearter )e.Item.FindControl("Repeater的ID")
剩下的一样了

你不是已经知道了吗?注释去掉,剩下的和操作web控件的是一样的
if (e.RowIndex >=0)
{
string id = ((Label)(rpt2.Items[e.Item.ItemIndex].FindControl("hotelTypeid"))).Text;
//TextBox t = e.Item.FindControl("hotelTypeid") as TextBox;
MessageBox.Show(this, id);
}