大家好,又见面了,我是你们的朋友全栈君。
Repeater嵌套Repeater的结构:
cs代码:
private void RpTypeBind()
{
//
GetQuestionTypeAndCount() 返回一个datatable
this
.rptypelist.DataSource
=
LiftQuestionCtr.GetQuestionTypeAndCount();
this
.rptypelist.DataBind();
}
protected
void
rptypelist_ItemDataBound(
object
sender, RepeaterItemEventArgs e)
{
//
判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,
//
HeaderTemplate,,ItemTemplate,SeparatorTemplate)
if
(e.Item.ItemType
==
ListItemType.Item
||
e.Item.ItemType
==
ListItemType.AlternatingItem)
{
Repeater rep
=
e.Item.FindControl(
“
rpquestionlist
“
)
as
Repeater;
//
找到里层的repeater对象
DataRowView rowv
=
(DataRowView)e.Item.DataItem;
//
找到分类Repeater关联的数据项
int
typeid
=
Convert.ToInt32(rowv[
“
qtid
“
]);
//
获取填充子类的id
rep.DataSource
=
LiftQuestionCtr.GetSomeQuestionsByTypeid(typeid,
2
);
rep.DataBind();
}
}
aspx:
table border = “ 0 “ cellpadding = “ 0 “ cellspacing = “ 0 “ style = “ margin-bottom: 5px “ width = “ 100% “ >
< asp:Repeater runat = “ server “ ID = “ rptypelist “ OnItemDataBound = “ rptypelist_ItemDataBound “ >
< ItemTemplate >
< tr >
< td class = “ fb “ >
& nbsp; & nbsp; < a href = “ Lists.aspx?Qtid=<%#Eval( “ qtid “ ) %> “ ><% #Eval( “ qtypename “ ) %></ a > < span id = “ askCount_15 “
class = “ date2 “ > [ <% #Eval( “ typecount “ ) %> ] </ span >
</ td >
</ tr >
< tr >
< td >
< div id = “ askTop2_15 “ class = “ ask_list “ >
< asp:Repeater runat = “ server “ ID = “ rpquestionlist “ >
< ItemTemplate >
< a href = “ Question.aspx?qid=<%#Eval( “ liftquestionid “ )%> “ >
<% #Eval( “ questiontitle “ ) %></ a >< br />
</ ItemTemplate >
</ asp:Repeater >
</ div >
</ td >
</ tr >
</ ItemTemplate >
</ asp:Repeater >
</ table >
此方法应该适合于repeater嵌套,datalist嵌套。
(datalist嵌套前不久试过,也可以)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159094.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...