Repeater嵌套Repeater
前台
-1.html"><%# Eval("PS_Name") %>
.html">
<%# base.CutStringExt(Eval("P_Name").ToString(), 20) %>
后台
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RpTypeBind();
}
}
private void RpTypeBind()
{//GetQuestionTypeAndCount() 返回一个datatable
this.repPSort.DataSource = new BProductSort().GetListExt(count);
this.repPSort.DataBind();
}
protected void repPSort_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,
//HeaderTemplate,,ItemTemplate,SeparatorTemplate)
if (this.count!=string.Empty)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repProduct") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
int typeid = Convert.ToInt32(rowv["PS_Id"]); //获取填充子类的id
DataTable dt = new BProduct().GetList(" top 16 ", " where P_SortId=" + typeid);
if (dt.DefaultView.Count > 0)
{
rep.DataSource = dt;
rep.DataBind();
}
else
{
e.Item.FindControl("repProduct").Visible = false;
}
}
}
else
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repProduct") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
int typeid = Convert.ToInt32(rowv["PS_Id"]); //获取填充子类的id
DataTable dt = new BProduct().GetList(" top "+a, " where P_SortId=" + typeid);
if (dt.DefaultView.Count>0)
{
rep.DataSource = dt;
rep.DataBind();
}
else
{
e.Item.FindControl("repProduct").Visible = false;
}
}
}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
