DataSet
是包含了多个DataTable的对象,也就是说DataSet
里可以有多个内存表,你需要绑定某一张表必须指定:
thisRepeater1DataSource
=
dsTables[0];
//绑定DataSet
里第一张表 thisRepeater1DataBind();
Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表。Repeater 控件没有自己内置的呈现功能,这意味着用户必须通过创建模板来提供 Repeater 控件的布局。当网页运行时,Repeater 控件会循环通过数据源中的记录,并为每个记录呈现一个项。
aspnet中获取repeater中的数据的方法是使用DataBinderEval循环获取。
Repeater 控件用于显示重复的项目列表,这些项目被限制在该控件。Repeater 控件可被绑定到数据库表、XML 文件或者其他项目列表。
以下的完整的读取Repeater的值的方法:
<%@ Import Namespace="SystemData" %>
<%@ Import Namespace="SystemDataSqlClient" %>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
// 创建连接到pubs数据库
// 访问本地的数据库
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=pubs;Trusted_Connection=Yes");
// 使用select语句查询title表中的所有记录
SqlDataAdapter myCommand = new SqlDataAdapter("SELECT FROM" +
" Titles", myConnection);
// 创建并且填充结果集
DataSet ds = new DataSet();
myCommandFill(ds);
// 绑定数据到MyRepeater
MyRepeaterDataSource = ds;
MyRepeaterDataBind();
}
</script>
<%-- 循环读取 MyRepeater中的数据--%>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<ASP:Repeater id="MyRepeater" runat="server">
<HeaderTemplate>
<Table width="100%" style="font: 8pt verdana">
<tr style="background-color:DFA894">
<th>
Title
</th>
<th>
Title ID
</th>
<th>
Type
</th>
<th>
Publisher ID
</th>
<th>
Price
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinderEval(ContainerDataItem, "title") %>
</td>
<td>
<%# DataBinderEval(ContainerDataItem,"title_id") %>
</td>
<td>
<%# DataBinderEval(ContainerDataItem, "type") %>
</td>
<td>
<%# DataBinderEval(ContainerDataItem, "pub_id") %>
</td>
<td>
<%# DataBinderEval(ContainerDataItem,
"price", "{0:c}") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</ASP:Repeater>
</body>
</html>
aspx
<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
aspxcs
//findtext是你打算高亮显示的关键字,这里没有做大小写处理
string findText = "Ch";
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (eItemItemType == ListItemTypeItem || eItemItemType == ListItemTypeAlternatingItem)
{
Label title = eItemFindControl("lblTitle") as Label;
if (title != null)
{
string text = titleText;
text = textReplace(findText, "<b>" + findText + "</b>");
titleText = text;
}
}
}
EnumerableRowCollection<DataRow> Query = from table in dtAsEnumerable()
where tableField<int>("State")=1
select table;
DataView dv = QueryAsDataView();
dvSort = "ID desc,Title asc";
thisrepeaterDataSource = dv;
thisrepeaterDataBind();
你把这个控件用REPEATER套起来以后,这4个应该有一个IMGURL地址的路径,你在后台定义4个公用变量,在前台对应的IMGURL地址位置用<%= %>替代地址。在后台,你做一个数据库查询代码,然后给这个REPEATER绑定数据(用泛型List<T>),在通过List<T>imgurlToString(); 做一个for循环,分别赋值给定义的公用变量,就行了。
以上就是关于asp.net 用Repeater绑定数据,从数据库读不到全部的内容,包括:asp.net 用Repeater绑定数据,从数据库读不到、repeater控件由模板推动请详细说明一下,与其他数据库绑定控件有什么不同、asp.net中怎样获取repeater中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)