asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

asp.net Repeater 数据绑定的具体实现


发布日期:2023年11月04日
 
asp.net Repeater 数据绑定的具体实现

以下为设计步骤

在C# 中连接数据库如下图
在项目中添加新建项建立一个数据集并把Categories从服务器资源列表中拖到这个数据集模板中并点击菜单“生成-生成解决方案”如下图

在aspx的webform上放一个ObjectDataSource控件设定它的TypeName为刚刚建立的数据集类型用它的向导建立即可
在aspx的webform上放一个Repeater控件用它的向导设定它的DataSourceID为上面的ObjectDataSource
在网页中设定它的源码即加上<itemTemplate><AlternatingItemTemplate>等模板如下面的代码

复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Defaultaspxcs" Inherits="RepeaterDefault" %>

<!DOCTYPE html PUBLIC "//WC//DTD XHTML Transitional//EN" "

<html xmlns="
<head runat="server">
<title></title>
</head>
<body>
<form id="form" runat="server">
<div>

<asp:ObjectDataSource ID="ObjectDataSource" runat="server"
OldValuesParameterFormatString="original_{}" SelectMethod="GetData"
TypeName="RepeaterDataSetEmployeesTableAdaptersCategoriesTableAdapter">
</asp:ObjectDataSource>
<asp:Repeater ID="Repeater" runat="server" DataSourceID="ObjectDataSource"
onitemdatabound="Repeater_ItemDataBound"
onitemcreated="Repeater_ItemCreated">
<HeaderTemplate>
类别表
<table border=""><th>类别ID</th><th>类别名称</th><th& gt;描述</th><th>图片</th>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("CategoryID")%></td>
<td>
<asp:TextBox ID="TextBox" runat="server" Text=<%#Eval("CategoryName")%>></asp:TextBox>
</td>
<td><%#Eval("Description")%></td>
<td><img alt="None" src=<%#Eval("Picture")%> /></td>
</tr>

</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td style="backgroundcolor:Blue"><%#Eval("CategoryID")%></td>
<td style="backgroundcolor:Blue">
<asp:TextBox ID="TextBox" runat="server" Text=<%#Eval("CategoryName")%>></asp:TextBox>
</td>
<td style="backgroundcolor:Blue"><%#Eval("Description")%></td>
<td style="backgroundcolor:Blue"><img alt="None" src=<%#Eval("Picture")%> /></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

</div>
</form>
</body>
</html>


要求在类别名称中带"O"的编辑框显示红色则写出以下代码

复制代码 代码如下:
protected void Repeater_ItemDataBound(object sender RepeaterItemEventArgs e)
{
if (eItemItemType == ListItemTypeAlternatingItem)
{

TextBox tb = (TextBox)eItemFindControl("TextBox");
if (tbTextContains("o"))
{
tbBackColor = ColorRed;
}

}
}


运行显示的效果为


上一篇:10个提升ASP.NET程序性能的简单做法

下一篇:ASP.NET Ajax Library功能简介