Repeater控件用法

摘要:
在ASP.NET中最常用的数据绑定方法就是Repeater了,不仅因为使用简单,而且Repeater轻量级,没有VIEWSTATE,深受开发者亲睐。本片博客就来介绍Repeater的使用方法和注意事项。在后台.cs文件中的代码如下:protectedvoidPage_Load{stringconnStr=@"server=.\SQLEXPRESS;database=Test;uid=sa;pwd=123456";SqlConnectionconn=newSqlConnection;try{conn.Open();SqlCommandcmd=newSqlCommand;SqlDataReadersdr=cmd.ExecuteReader();DataTabledt=newDataTable();dt.Load;rep.DataSource=dt;rep.DataBind();}catch{throwex;}}前台页面放一个Repeater控件,添加一个 模板,如下:<%#eval%>、<%#eval%>、<%#eval%>用Eval表达式绑定字段,进行展示。所以需要在Repeater绑定之前做一些事情。="rep"runat="server"onitemdatabound="rep_itemdatabound">

在ASP.NET中最常用的数据绑定方法就是Repeater了,不仅因为使用简单,而且Repeater轻量级,没有VIEWSTATE,深受开发者亲睐。本片博客就来介绍Repeater的使用方法和注意事项。

一、准备数据  

在数据库中创建一张表,具体的sql脚本如下:

createdatabaseTest

go

createtablestudents

(

IDintidentity(1,1)primarykey,

[Name]nvarchar(20)notnull,

Sexintnotnull-- 1:male 0:female

)

insertintostudents(Name,sex)values('Frank',1);

insertintostudents(Name,sex)values('Caroline',0);

insertintostudents(Name,sex)values('Tom',1);

insertintostudents(Name,sex)values('Jack',1);

创建后的效果如下图所示:

image

二、在项目中测试  

在Visual Studio中新建一个WebApplication,进行测试。

image

在后台.cs文件中的代码如下:

protectedvoid Page_Load(object sender, EventArgs e)

{

string connStr = @"server=.\SQLEXPRESS;database=Test;uid=sa;pwd=123456";

SqlConnection conn = newSqlConnection(connStr);

try

{

conn.Open();

SqlCommand cmd = newSqlCommand("select * from students", conn);

SqlDataReader sdr = cmd.ExecuteReader();

DataTable dt = newDataTable();

dt.Load(sdr);

rep.DataSource = dt;

rep.DataBind();

}

catch (Exception ex)

{

throw ex;

}

}

前台页面放一个Repeater控件,添加一个<ItemTemplate>模板,如下:

<asp:RepeaterID="rep"runat="server"onitemdatabound="rep_ItemDataBound">

<ItemTemplate>

<%#Eval("ID") %><%#Eval("Name") %><%#Eval("Sex") %>

<br/>

</ItemTemplate>

</asp:Repeater>

用Eval(string expression)表达式绑定字段,进行展示。运行结果如图:

image

我们需要把表示性别的1和0转换成有意思的文字让人看。所以需要在Repeater绑定之前做一些事情。

具体代码如下:

// 绑定之前显示男女

protectedvoid rep_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)

{

DataRowView drv = (DataRowView)e.Item.DataItem;

Label lbl = (Label)e.Item.FindControl("lblSex");

if (drv["Sex"].ToString() == "1")

{

lbl.Text = "";

}

else

{

lbl.Text = "";

}

}

页面只需稍作更改即可:

<asp:RepeaterID="rep"runat="server"onitemdatabound="rep_ItemDataBound">

<ItemTemplate>

<%#Eval("ID") %><%#Eval("Name") %><asp:LabelID="lblSex"runat="server"Text=""></asp:Label>

<br/>

</ItemTemplate>

</asp:Repeater>

最后运行效果如图所示:

image

免责声明:文章转载自《Repeater控件用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇perl语言 入门(转)Mysql 实现分页功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

如何用R来处理数据表的长宽转换(图文详解)

通常可以采取如python和r来作为数据处理的前期。Tableau学习系列之Tableau如何通过数据透视表方式读取数据文件如何用Python来处理数据表的长宽转换数据长宽转换是很常用的需求,特别是当是从Excel中导入的汇总表时,常常需要转换成一维表(长数据)才能提供给图表函数或者模型使用。...

nacos产生大量日志处理

/我们发现nacos产生大量日志,浪费磁盘空间资源将配置文件nacos/conf/application.properties的生产日志功能关闭--进入配置文件vim./nacos/conf/application.properties--将true改为falseserver.tomcat.accesslog.enabled=true--重启nacos./n...

c++ 发送消息,模拟拖拽文件

=NULL)28{29LPSTRpszRemote=VirtualAllocEx;30if31{32::SendMessage;33bResult=TRUE;34}35}36}3738if39{40delete[]pBuf;41pBuf=NULL;42}43 returnbResult;44}在调用此函数之前,首先打开接受拖动的进程ShellExecute;...

Revit导入lumion渲染

利用Revit导出DAE文件格式插件,可以将Revit模型导入到lumion中进行图片渲染和漫游动画的制作。lumion强大的漫游功能,丰富的附加组件,绚丽的视频特效。lumion没有建模功能,但是Revit建模的没有统一的标准,导致一些不该同样的材质的地方,无法更改;如果有统一的标准,那么Revit结合lumion能做出任何想要的效果。Revit13版本能...

css实现切角效果

html&lt;divclass=“corner”&gt;#58a0);#58a0)右,#58a0)左;3.四个倒角css。角{width:4。圆弧倒角css。右上角(width:#58a0);背景重复:无重复;...

微信小程序-获取input值的两种方法

1、bindinput其中e.detail是获取input数据其中包含value值,cursor是获取光标的位置。...