donet学习笔记7(ADO基础A:简单绑定.repeater控件的使用'实现分页')

1.简单绑定:
实现页面简单的数据绑定,假如在一个TextBox中输入内容要在LABEL中显示;
  那么,将TextBox的autopostback设置为 true,.
  然后,将ASP前台代码中LABEL部分加入表达式: <%# TextBoxName.Text %>
即如下完整代码:
        <asp:Label ID="Label1" runat="server" Style="z-index: 103; left: 59px; position: absolute;
            top: 120px" Width="194px"><%# TextBoxName.Text %></asp:Label>
  最后,将在后台代码中,加入textboxchange事件中加入:Page.DataBind();将页面进行重新绑定.
完整代码如下:   
 protected void TextBoxName_TextChanged(object sender, EventArgs e)
    {
        //当文字变化的时候,对页面进行绑定.
        Page.DataBind();
    }
2.repeater控件的数据绑定并且实现分页显示
repeater控件的ASP页面上绑定的代码如下:
            < asp:Repeater  ID ="Repeater1"  runat ="server" >
            
< ItemTemplate >
            
< font  color ="blue" >
           
< tr >
             
< td >
            
<% # DataBinder.Eval(Container.DataItem,"LastName") %>
            
<% # DataBinder.Eval(Container.DataItem,"FirstName") %>
             
</ td >
           
</ tr >
             
</ font >
            
</ ItemTemplate >
            
< AlternatingItemTemplate >
            
< tr >
                
< td >
                
<% # DataBinder.Eval(Container.DataItem,"LastName") %>
                
<% # DataBinder.Eval(Container.DataItem,"FirstName") %>
                
</ td >
            
</ tr >
            
</ AlternatingItemTemplate >
            
< HeaderTemplate >
                
< h3 > 模板页眉 </ h3 >
                
< table  border =1 >
                 
< tr >
                   
< td > 员工名字 </ td >
                 
</ tr >
            
</ HeaderTemplate >
            
< FooterTemplate >
            
</ table >
                
< h3 > 模板页脚 </ h3 >
            
</ FooterTemplate >
            
< SeparatorTemplate >
<!--             
            <tr>
              <td>
                <hr color="blue"/>
              </td>
            </tr>
            
-->
            
</ SeparatorTemplate >
        
</ asp:Repeater >

如果要分页.,就还要加两个按钮"上下页"一个提示式多小页的textbox


CS代码:
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;
public  partial  class  repeaterContorl : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack) 
        
{
            
//第一次显示的时候页面的页面为1;
            this.LabelShow.Text = "1";
            
this.dataBindToRepeater();
           

        }

    }

    
private void dataBindToRepeater() 
    
{
        
//得到当前页
        int curPage =  Convert.ToInt32(LabelShow.Text);
        
//得到数据库数据
        SqlConnection conn = DB.getConnection();
        
//得到数据适配器
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand 
= new SqlCommand("select * from employees",conn);
        
//新建数据集合
        DataSet ds = new DataSet();
        
//将数据集合进行绑定
        sda.Fill(ds, "emp");
        
//实现分页的一个DataSource
        System.Web.UI.WebControls.PagedDataSource pSource = new PagedDataSource();
        
//将视图作为ds.Tables["emp"].DefaultView;数据源
        pSource.DataSource = ds.Tables["emp"].DefaultView;
        pSource.AllowPaging 
= true;
        pSource.PageSize 
= 3;

        ButtonPre.Enabled 
= true;
        ButtonNext.Enabled 
= true;
        pSource.CurrentPageIndex 
= curPage - 1;
        
if (curPage == 1)
        
{
            ButtonPre.Enabled 
= false;
        }

        
if (curPage == pSource.PageCount)
        
{
            ButtonNext.Enabled 
= false;
        }

        
//创建Repeater1的数据源
        Repeater1.DataSource = pSource;
        
//Repeater1.DataSource = ds.Tables["emp"];
        Repeater1.DataBind();
    }

    
//点击上一步的按钮的时候的事件
    protected void ButtonPre_Click(object sender, EventArgs e)
    
{
        LabelShow.Text 
= Convert.ToString(Convert.ToInt32(LabelShow.Text) - 1);
        
this.dataBindToRepeater();
    }

    
//点击上一步的按钮的时候的事件
    protected void ButtonNext_Click(object sender, EventArgs e)
    
{
        LabelShow.Text 
= Convert.ToString(Convert.ToInt32(LabelShow.Text) + 1);
        
this.dataBindToRepeater();
    }

}

转载于:https://www.cnblogs.com/sorry208/articles/930427.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值