实现页面简单的数据绑定,假如在一个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 >
< 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();
}
}
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();
}
}