阿里妈妈,帮你实现网络赚钱梦,流量变成现金!
07-09
04

REPEATER控件

给力技术 - 给您提供最新最全的Web资源       这几天在练习做一个简单的留言本,用了REPEATER控件,并参考了一些网上的资料,只实现了极少的功能。下面是网上找的REPEATER控件分页方法。

      说明:把从数据库中取到的数据赋给PagedDataSource对象的DataSource属性,然后分别设置PagedDataSource对象的AllowPaging属性(允许分页)、PageSIze属性,CurrentPageIndex属性。

1、首先在窗体拖入一个 Repeater控件,页面代码如下,红色部分为自行添加代码

<asp:Repeater id="Repeater1" runat="server">
    <ItemTemplate>
     <li>
      <%#DataBinder.Eval(Container.DataItem,"au_fname")%>
      <%#DataBinder.Eval(Container.DataItem,"au_lname")%>
      <%#DataBinder.Eval(Container.DataItem,"phone")%>
     </li>
    </ItemTemplate>
   </asp:Repeater>

2、后台代码

页面载入事件代码

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!IsPostBack)
   RepeaterDataBind();  
  }

数据绑定方法代码,自定义方法

private void RepeaterDataBind()
  {  //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的.
   SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["con"].ToString());
  //创建SQL语句

string sql="select au_fname,au_lname,phone from authors";

//创建数据适配器对象
   SqlDataAdapter da=new SqlDataAdapter(sql,conn);

//创建DataSet对象
   DataSet ds=new DataSet();
   try
   {
    da.Fill(ds,"authors");

//创建分页类
    PagedDataSource objPage=new PagedDataSource();

//设置数据源
    objPage.DataSource=ds.Tables["authors"].DefaultView;

//允许分页
    objPage.AllowPaging=true;

//设置每页显示条数
    objPage.PageSize=5;

//定义变量用来保存当前页索引
    int curPage;

//判断是否有页面跳转请求
    if(Request.QueryString["Page"]!=null)
     curPage=Convert.ToInt32(Request.QueryString["Page"]);
    else
     curPage=1;
    objPage.CurrentPageIndex=curPage-1;
    this.Label1.Text="当前页:第"+curPage.ToString()+"页";
    if(!objPage.IsFirstPage)
    {  //定义"上一页"超级连接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引植
     this.HyperLink1.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(curPage-1);
    }
    if(!objPage.IsLastPage)
    {
     this.HyperLink2.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(curPage+1);
    }
    this.Repeater1.DataSource=objPage;
    this.Repeater1.DataBind();
   }
   catch(Exception error)
   {
   Response.Write(error.ToString());
   }

  }



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
文章标签: asp.net
网摘收录:
相关日志:
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.