Datalist和Repeater嵌套
来源:互联网 发布:java约瑟夫环不用链表 编辑:程序博客网 时间:2024/06/03 15:56
最近在做的一个网站多次使用到Datalist或Repeater嵌套,觉得挺有用的。
例如网站有大栏目,大栏目下有小栏目,小栏目中有新闻什么的,像这样的树型结构,就适合用嵌套绑定数据,特别是
要求小栏目可以增加删除修改。
还有就是那种多对多的关系,例如管理员与栏目的关系,一个管理员可以管理多个栏目,一个栏目又可以有多个管理员
来管理,查看权限时如果要求按栏目查看和按管理员查看,也可以用嵌套绑定数据来解决,而不用去写复杂的存储过程可sql语句,或者读出权限,管理员,栏目后再进行处理。查看权限,例如按栏目查看时,数据也是树型的,一个栏目下对就多个管理员。
可以Datalist中嵌套Datalist,Datalist中嵌套Repeater,Repeater中嵌套Datalist,Repeater中嵌套Repeater,都
差不多。主要是在DataSet要返回两个表,再添加两个表的关系。前台绑定时主要要用转义和加方括号。还有和后台关系的名称一样。还是看代码吧。
前台***.aspx
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate>
<p><%# DataBinder.Eval(Container.DataItem, "sname") %></p>
<asp:Repeater ID="Repeater2" runat="server"
DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("myrelation") %>'>
<ItemTemplate>
<%--注意是"[/"id/"]",而不是"id",要用转义和加方括号--%>
<a href="Detail.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "[/"id/"]") %>">
<%# DataBinder.Eval(Container.DataItem, "[/"title/"]") %>
</a>
<%# DataBinder.Eval(Container.DataItem, "[/"addtime/"]") %>
<br />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
后台***.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
//DataSet中关系的名称,前台绑定要用到
string relationname = "myrelation";
//读取数据,返回两个表,存储过程中至少要有两个查询
DataSet ds = GetData();
//添加关系
ds.Relations.Add(relationname, ds.Tables[0].Columns["mid"], ds.Tables[2].Columns["mid"]);
Repeater1.DataSource = ds.Tables[0];
Repeater1.DataBind();
}
- Datalist和Repeater嵌套
- Datalist嵌套Repeater显示
- DataList与Repeater嵌套绑定
- repeater,datalist, datagrid的嵌套问题
- Repeater DataList GridView的嵌套用法
- DataList和Repeater数据排序
- DataList和Repeater数据分页
- datalist和repeater通用分页
- DataList和Repeater数据分页
- 关于多层repeater,datagrid,datalist嵌套的示例
- datalist嵌套repeater(采购检验ISO标准参考)
- Repeater和DataList控件也玩分布
- DataGrid,DataList和Repeater用法收集
- DataList和Repeater里的自定义button
- DataGrid、DataList和Repeater比较总结
- Gridview,Repeater和DataList的区别
- datalist,Repeater和Gridview的区别分析
- Repeater, DataList, 和GridView的区别
- ArcEngine数据删除几种方法
- SQL语句技巧汇总
- 解决win2003 iis6 的"请求的资源在使用中"
- 简单工厂模式(Simple Factory)
- 2.0中WinForm自定义的程序配置存放到哪里去了
- Datalist和Repeater嵌套
- 一步一步学硬盘分区及大小调整
- 赋值运算符重载引发的思考(引用的强大功能)
- 百度对CN域名看法
- GridView控件编程的事件
- GridView隐藏列取值解决方案
- Conficker蠕虫作者可随时引爆“网络核武”
- Java EE 5:五花八门的服务器支持
- Javascript的IE和Firefox兼容性汇编