Repeater控件绑定及分页
2016-07-10 10:49
543 查看
前言
学习牛腩的时候接触到Repeater控件,感觉很神奇。Repeater控件,DataList,Datagrid控件都能绑定数据库动态显示数据库等的内容。Html代码
<head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <h1>分页显示</h1> <p> <asp:Label ID="Label1" runat="server" Text="当前页:"></asp:Label> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上一页" /> <asp:Button ID="Button2" runat="server" Text="下一页" OnClick="Button2_Click" /></p> <asp:Panel ID="Panel1" runat="server" Height="224px" Width="503px"> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <tr> <td> <!--数据绑定 绑定容器的数据项 “”里的是具体绑定的数据项 后面还有一个{0:},可以设置数据的格式}--> <%# DataBinder.Eval(Container.DataItem,"LastName") %> <%# DataBinder.Eval(Container.DataItem,"FirstName") %> </td> </tr> </ItemTemplate> <AlternatingItemTemplate> <tr> <td><font color="blue"> <%# DataBinder.Eval(Container.DataItem,"LastName") %> <%# DataBinder.Eval(Container.DataItem,"FirstName") %> </td> </tr> </font> </AlternatingItemTemplate> <HeaderTemplate> <h3>模板页眉</h3> <table border="1"> <tr> <td>员工名字</td> </tr> </HeaderTemplate> <FooterTemplate> <h3>模板页脚</h3> </table> </FooterTemplate> </asp:Repeater> </asp:Panel> </div> </form> </body>
后台代码
public partial class repeaterControl : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //第一次登录 if (!this.IsPostBack) { this.Label2.Text = "1"; this.dataBindToRepeater(); } } private void dataBindToRepeater() { int curPage = Convert.ToInt32(this.Label2.Text); SqlConnection con = DB.createCon(); SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = new SqlCommand("select * from employees", con); DataSet ds = new DataSet(); sda.Fill(ds, "emp"); //分页用pageddatasource System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource(); ps.DataSource = ds.Tables["emp"].DefaultView; ps.AllowPaging = true; ps.PageSize = 3; ps.CurrentPageIndex = curPage - 1; this.Button1.Enabled = true; this.Button2.Enabled = true; if (curPage == 1) { this.Button1.Enabled = false; } if (curPage == ps.PageCount) { this.Button2.Enabled = false; } this.Repeater1.DataSource = ps; this.Repeater1.DataBind(); } //上一页按钮单击 protected void Button1_Click(object sender, EventArgs e) { this.Label2.Text = Convert.ToString((Convert.ToInt32(this.Label2.Text)) - 1); this.dataBindToRepeater(); } //下一页按钮单击 protected void Button2_Click(object sender, EventArgs e) { this.Label2.Text = Convert.ToString((Convert.ToInt32(this.Label2.Text)) + 1); this.dataBindToRepeater(); } }
结语
这几天主要学了一些asp.net中的控件:内置控件,复杂控件(广告控件和日历控件),验证控件和列表控件。不知道该如何总结,学的也是囫囵吞枣,还是应该找几个重点的例子敲一敲,实践实践。相关文章推荐
- 泛型总结
- 访问Access数据库实现DropDownList二级异步联动(ASP.NET WebForm开发方式)
- 【笔记】HttpHandler与HttpMoudle
- repeater中CheckBoxList/RadioButtonList取值赋值
- asponse.word按模板导出word文档
- Global文件的作用
- Asp.Net alert弹出提示信息的5种方法
- 当微软牛津计划遇到微信APP---一
- 7 天玩转 ASP.NET MVC — 第 2 天
- ASP.NET MVC 路由系统
- ASP.NET MVC 数据验证
- ASP.NET MVC Controller和Action
- ASP.NET MVC Filters
- ASP.NET MVC Razor视图引擎
- ASP.NET MVC Section
- ASP.NET MVC Partial View 和 Child Action
- ASP.NET MVC Helper Method
- ASP.NET MVC Model Binding
- asp.net mvc 解决漏洞扫描的Error messages on page
- 关于asp.net网址出现乱码问题的解决方法