Repeater绑定Xml数据源或文件
2012-04-06 17:47
344 查看
1、要引用的命名空间
using System;
using System.Data;
using System.Web;
using System.Web.UI.WebControls;
2、Repeater控件绑定XmlDataSource数据源,无分页
1)前台TestRepeater.aspx文件:
<asp:Repeater ID="xml1" runat="server" DataSourceID="XmlDataSource1">
<ItemTemplate>
<ul>
<li style="color: Blue;">《<%# Server.HtmlEncode(XPath("name").ToString()) %>》</li>
<li><%# Server.HtmlEncode(XPath("mark").ToString())%></li>
<li><b>数量:</b><%# XPath("quantity")%> <b>价格:</b><%# XPath("price")%> <b>作者:</b><%# XPath("author")%></li>
</ul>
<hr />
</ItemTemplate>
</asp:Repeater>
<asp:XmlDataSource runat="server" DataFile="~/data/test.xml"></asp:XmlDataSource>
2)后台TestRepeater.aspx.cs文件
如没有特殊需求,后台无需任何代码即可显示数据。
3、Repeater控件通过DataTable(DataView)直接绑定xml文件,有分页
1)前台TestRepeater.aspx文件:
<asp:Repeater ID="xml1" runat="server">
<ItemTemplate>
<ul>
<li style="color: Blue;"><a style="color: Red;" href='?id=<%# Eval("id") %>'>删除</a>《<%# Server.HtmlEncode(Eval("name").ToString()) %>》</li>
<li><b>数量:</b><%# Eval("quantity")%> <b>价格:</b><%# Eval("price")%> <b>作者:</b><%# Eval("author")%></li>
</ul>
<hr />
</ItemTemplate>
</asp:Repeater>
<ul>
<li>
<asp:HyperLink ID="hyHome" runat="server" Text="首页"></asp:HyperLink>
<asp:HyperLink ID="hyPrev" runat="server" Text="上一页"></asp:HyperLink>
<asp:HyperLink ID="hyNext" runat="server" Text="下一页"></asp:HyperLink>
<asp:HyperLink ID="hyEnd" runat="server" Text="尾页"></asp:HyperLink>
共 <asp:Literal ID="recTotal" runat="server"></asp:Literal> 项,<asp:Literal ID="pageCount" runat="server"></asp:Literal> 页,当前第 <asp:Literal ID="pageIndex" runat="server"></asp:Literal> 页
</li>
</ul>
2)后台TestRepeater.aspx.cs文件:
protected void Page_Load(object sender, EventArgs e)
{
string file = Server.MapPath("/data/test.xml");
DataSet ds = new DataSet();
ds.ReadXml(file);
DataTable dt = ds.Tables[0];
//执行删除操作
int id = Convert.ToInt32(Request.QueryString["id"]);
if (id > 0)
{
dt.Rows[id-1].Delete();
dt.AcceptChanges();
ds.WriteXml(file);
}
//执行删除操作
DataView dv = dt.DefaultView;
dv.Sort = "date desc";
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dv;
pds.AllowPaging = true;
pds.PageSize = 10;
int pageIndex = Convert.ToInt32(Request.QueryString["page"]);
if (pageIndex <= 1) pageIndex = 1;
pds.CurrentPageIndex = pageIndex - 1;
this.xml1.DataSource = pds;
this.xml1.DataBind();
this.recTotal.Text = pds.DataSourceCount.ToString();
this.pageCount.Text = pds.PageCount.ToString();
this.pageIndex.Text = pageIndex.ToString();
if (pageIndex == 1)
this.hyHome.NavigateUrl = string.Empty;
else
this.hyHome.NavigateUrl = "?page=1";
if (pageIndex > 1)
this.hyPrev.NavigateUrl = "?page=" + (pageIndex - 1) + "";
else
this.hyPrev.NavigateUrl = string.Empty;
if (pageIndex < pds.PageCount)
this.hyNext.NavigateUrl = "?page=" + (pageIndex + 1) + "";
else
this.hyNext.NavigateUrl = string.Empty;
if (pageIndex >= pds.PageCount)
this.hyEnd.NavigateUrl = string.Empty;
else
this.hyEnd.NavigateUrl = "?page=" + (pds.PageCount) + "";
}
4、xml文件格式:
<?xml version="1.0" encoding="utf-8"?>
<books>
<book>
<id>1</id>
<name>神州侠侣</name>
<quantity>50</quantity>
<price>45.55</price>
<author>tiger</author>
</book>
</books>
using System;
using System.Data;
using System.Web;
using System.Web.UI.WebControls;
2、Repeater控件绑定XmlDataSource数据源,无分页
1)前台TestRepeater.aspx文件:
<asp:Repeater ID="xml1" runat="server" DataSourceID="XmlDataSource1">
<ItemTemplate>
<ul>
<li style="color: Blue;">《<%# Server.HtmlEncode(XPath("name").ToString()) %>》</li>
<li><%# Server.HtmlEncode(XPath("mark").ToString())%></li>
<li><b>数量:</b><%# XPath("quantity")%> <b>价格:</b><%# XPath("price")%> <b>作者:</b><%# XPath("author")%></li>
</ul>
<hr />
</ItemTemplate>
</asp:Repeater>
<asp:XmlDataSource runat="server" DataFile="~/data/test.xml"></asp:XmlDataSource>
2)后台TestRepeater.aspx.cs文件
如没有特殊需求,后台无需任何代码即可显示数据。
3、Repeater控件通过DataTable(DataView)直接绑定xml文件,有分页
1)前台TestRepeater.aspx文件:
<asp:Repeater ID="xml1" runat="server">
<ItemTemplate>
<ul>
<li style="color: Blue;"><a style="color: Red;" href='?id=<%# Eval("id") %>'>删除</a>《<%# Server.HtmlEncode(Eval("name").ToString()) %>》</li>
<li><b>数量:</b><%# Eval("quantity")%> <b>价格:</b><%# Eval("price")%> <b>作者:</b><%# Eval("author")%></li>
</ul>
<hr />
</ItemTemplate>
</asp:Repeater>
<ul>
<li>
<asp:HyperLink ID="hyHome" runat="server" Text="首页"></asp:HyperLink>
<asp:HyperLink ID="hyPrev" runat="server" Text="上一页"></asp:HyperLink>
<asp:HyperLink ID="hyNext" runat="server" Text="下一页"></asp:HyperLink>
<asp:HyperLink ID="hyEnd" runat="server" Text="尾页"></asp:HyperLink>
共 <asp:Literal ID="recTotal" runat="server"></asp:Literal> 项,<asp:Literal ID="pageCount" runat="server"></asp:Literal> 页,当前第 <asp:Literal ID="pageIndex" runat="server"></asp:Literal> 页
</li>
</ul>
2)后台TestRepeater.aspx.cs文件:
protected void Page_Load(object sender, EventArgs e)
{
string file = Server.MapPath("/data/test.xml");
DataSet ds = new DataSet();
ds.ReadXml(file);
DataTable dt = ds.Tables[0];
//执行删除操作
int id = Convert.ToInt32(Request.QueryString["id"]);
if (id > 0)
{
dt.Rows[id-1].Delete();
dt.AcceptChanges();
ds.WriteXml(file);
}
//执行删除操作
DataView dv = dt.DefaultView;
dv.Sort = "date desc";
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dv;
pds.AllowPaging = true;
pds.PageSize = 10;
int pageIndex = Convert.ToInt32(Request.QueryString["page"]);
if (pageIndex <= 1) pageIndex = 1;
pds.CurrentPageIndex = pageIndex - 1;
this.xml1.DataSource = pds;
this.xml1.DataBind();
this.recTotal.Text = pds.DataSourceCount.ToString();
this.pageCount.Text = pds.PageCount.ToString();
this.pageIndex.Text = pageIndex.ToString();
if (pageIndex == 1)
this.hyHome.NavigateUrl = string.Empty;
else
this.hyHome.NavigateUrl = "?page=1";
if (pageIndex > 1)
this.hyPrev.NavigateUrl = "?page=" + (pageIndex - 1) + "";
else
this.hyPrev.NavigateUrl = string.Empty;
if (pageIndex < pds.PageCount)
this.hyNext.NavigateUrl = "?page=" + (pageIndex + 1) + "";
else
this.hyNext.NavigateUrl = string.Empty;
if (pageIndex >= pds.PageCount)
this.hyEnd.NavigateUrl = string.Empty;
else
this.hyEnd.NavigateUrl = "?page=" + (pds.PageCount) + "";
}
4、xml文件格式:
<?xml version="1.0" encoding="utf-8"?>
<books>
<book>
<id>1</id>
<name>神州侠侣</name>
<quantity>50</quantity>
<price>45.55</price>
<author>tiger</author>
</book>
</books>
相关文章推荐
- Repeater绑定Xml数据源或文件
- Repeater绑定Xml数据源或文件
- Repeater绑定Xml数据源或文件
- 绑定数据源后,Repeater在创建时触发的事件,以及如果在cs文件中调用某个字段的值
- Repeater控件绑定XmlDataSource数据源
- repeater绑定xml数据源
- 将 XML 文件做为数据源绑定到控件
- Demo: Dictionary>> 泛型读取XML文件数据作为数据源(DataSource)绑定到DropDownList控件 定义个一个公用类
- 数据绑定技术_单值数据绑定示例;将 DataTable,DataSet,DataView,DataReader 绑定到 DataGrid 控件示例;DataBinder.Eval;数组的值赋给ListBox1;Hashtable 绑定到;RadioButtonList;将XML 文件做为数据源绑定到控件
- 数据绑定技术—将 XML 文件做为数据源绑定到控件
- repeater绑定xml数据源
- Silverlight TreeView 动态绑定Xml 文件
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- 将XML文件绑定到TreeView,建立树形导航
- HierarchicalDataTemplate层次模板绑定XML数据源到Menu和TreeView
- 在Spring的配置文件applicationContext-mybatis.xml中配置数据源对象中,配置SQL心跳包及参数含义
- EXT.NET 绑定XML数据源
- c# comboBox 使用 linq to xml 绑定 XML文件
- Repeater 列表绑定数据源显示以及增删改查
- ASP.NET实现TreeView的XML数据源绑定实例代码