【转自 http://www.cnblogs.com/caodaiming/archive/2008/12/18/1357660.html】
今天在网上看到一段代码,是关于Repeater 嵌套的问题,有很多的不明白的地方,希望大家能帮我把这个迷解了;
先看运行的效果:
XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<books>
<book type="计算机">
<context>C语言</context>
<context>C#语言</context>
<context>C++语言</context>
</book>
<book type="小说">
<context>爱情小说</context>
<context>知音小说</context>
<context>军事动态</context>
</book>
</books>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("Test.xml"));
Repeater1.DataSource = ds;
Repeater1.DataBind();
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater p = (Repeater)e.Item.FindControl("Repeater2");
DataRowView drv = (DataRowView)e.Item.DataItem;
p.DataSource = drv.CreateChildView("book_context");
p.DataBind();
}
}
前台代码:
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
Repeater Test</HeaderTemplate>
<FooterTemplate>
</FooterTemplate>
<ItemTemplate>
<ul>
<%#Eval("type") %>
<br />
</ul>
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<%#Eval("context_Text")%><br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
不明的地方是:
1、 p.DataSource = drv.CreateChildView("book_context"); 中的“book_context”为什么是这样的参数,修改成其它的参数报错:
去MSDN中查CreateChildView方法解释如下:
如果 DataSet 中的表之间存在关系,则可以使用 DataRowView 的 CreateChildView 方法为父表中的行创建一个 DataView,包含相关子表中的行;具体也没有说明什么,它只是说父表与子表的关系;
2、前面页面代码
<ItemTemplate>
<%#Eval("context_Text")%><br />
</ItemTemplate>
梆定XML中的context的时候只能是context_Text字段;修改成context是报错;但是按照我们一般性的理解,应该是梆定XML中的字段啊!
分享到:
相关推荐
repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater嵌套repeater...
自己写的repeater嵌套datalist例子,也可以repeater嵌套repeater
资源包含:数据库设计、完整实例代码! 主、从表显示 有问题请与QQ:24394180联系
repeater嵌套 C#.Net实例代码
关于repeater嵌套的方法,使用!! 希望对大家有帮助!!!!
Repeater嵌套方法,.net在页面里Repeater控件内嵌套Repeater控件
自己整理了一个repeater嵌套和分页的实例,两个ASPX文件,一个是只嵌套不分页,另一个是嵌套+分页功能。 希望对新手朋友有所帮助。
Repeater表头自定义排序; Repeater嵌套Repeater。
代码可直接复制粘贴使用,用c#做的,对于不想写代码的人不错的选择
Repeater嵌套,包含有刷新绑定和无刷新绑定
Repeater控件绑定数据、分页、数据操作,最佳代码Repeater控件绑定数据、分页、数据操作,最佳代码Repeater控件绑定数据、分页、数据操作,最佳代码
(ASP.NET)Repeater嵌套、、、(ASP.NET)\Repeater嵌套.rar、、、(ASP.NET)\Repeater嵌套.rar
两个repeater嵌套功能;两个repeater嵌套功能
后台动态创建Repeater控件,并绑定数据。
主要介绍了asp.net实现DataList与Repeater嵌套绑定的方法,结合实例形式分析了DataList与Repeater的步骤与相关实现技巧,需要的朋友可以参考下
可以用作评论及回复的asp.net设计上,让一条评论有多条回复
c#Repeater多层嵌套的代码 1.找到分类Repeater关联的数据项 2.根据分类ID查询该分类下的产品,并绑定产品Repeater
repeater很好的例子:嵌套 C# asp.net 原创
此源码包括了SQL数据表的源码和页面实现的源码。
适合初学的时候 可以用在很多方面 的repeater 嵌套调用。有兴趣的可以看看