asp.net 用Repeater绑定数据,从数据库读不到

asp.net 用Repeater绑定数据,从数据库读不到,第1张

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中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10122592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存