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=

随便看看

Idea常用插件整合

官方网站:https://plugins.jetbrains.com/plugin/228-sql-query-plugin6.IdeaVim基于IntelliJ的Vim仿真插件。注意:如果打开WebInspector,那么CSS/JavaScript同步和元素高亮显示不起作用“pluginisdebuggingthistab”信息栏的可用性问题官方网站:h...

Windows Server 2019 Active Directory (AD域)时间不同步的解决方法

2.启用NTPServerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProviderNtpServer,将键Enabled的值修改为十进制的1。快速将所有注册表导入WindowsRegistryEditorVersion5.00[HHKEY_LOCAL_MACHINESOFTWAR...

docker-compose启动容器后执行脚本或命令不退出 | 运行内部程序

好在,docker还有个特别之处,我们可以通过dockerbuild读取到Dockerfile中的指令后,在构建新镜像再起容器的时候,可以直接执行脚本文件运行容器内部应用程序,同时不退出容器。在dockerbuild新镜像后,同样docker-composeup-d启动容器服务,查看容器状态docker-composeps,进入容器并查看进程:事实证明,确实...

Qt开发技术:QtCharts(一)QtCharts基本介绍以及图表框架详解

前话Qt自带的二维图标QCharts相关研发笔记。Qt图标概述Qt图表模块提供了一组易于使用的图表组件。更简单的解决方案是使用方便类QChartView而不是QChart在布局中显示图表。QChart载体类概述QChart类管理图表系列、图例和轴的图形表示。此外,使用QPolarChart类,可以将线、样条曲线、面积和散布序列表示为极坐标图。enumQCha...

雪花算法(snowflake)

注意,41位时间截不是存储当前时间的时间截,而是存储时间截的差值后得到的值,这里的的开始时间截,一般是我们的id生成器开始使用的时间,由我们程序来指定的。这个算法很简洁,但依旧是一个很好的ID生成策略。其中,10位器标识符一般是5位IDC+5位machine编号,唯一确定一台机器。...

手把手教你把苹果手机微信聊天内容存为长图的2种方法

第一种:把聊天内容全部截图,然后拼凑成一张长图①:打开微信,点击右下角的我②:点击收藏③:点击右上角的加号④:点击左下角的打开本地相册图标⑤:选择要拼成长图的聊天截图(这里我随便截了3张图,没有截聊天记录)⑥:点击右上角的图标后,在弹出的界面选择保存为图片即可第二种:选择多条聊天消息后合并,然后转为文字①:任意打开一个微信好友聊天界面,然后长按聊天消息后,在...