asp.net Repeater控件使用问题

如图,数据库连接正常,与DataGrid的数据绑定,在<ASP:DataGrid>里面正常显示。DataGrid1.DataSource=myDataReaderData... 如图,数据库连接正常,与DataGrid的数据绑定,在<ASP:DataGrid>里面正常显示。
DataGrid1.DataSource=myDataReader DataGrid1.DataBind()
我用一样的方式加入: Repeater1.DataSource=myDataReader Repeater1.DataBind()
却提示“发生错误:未设置对象变量或 With 块变量。” 神啊~这是为什么?!
运行结果如图:
展开
 我来答
handangaoyang
2013-12-20 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:913万
展开全部
//你的绑定错了,Repeater并不支持直接将数据读取器传给它作为数据源
Repeater1.DataSource=myDataReader
Repeater1.DataBind()

//修改如下(C#代码,你改成你的vb就可以了)
//T就是你的类型
List<T> list=new List<T>();
while(myDataReader.Read())
{
    T t = new T();
    t.xxx=myDataReader.Read["字段"]
    list.Add(t);
}

//你需要先把你的读取器转换成集合
Repeater1.DataSource=list
Repeater1.DataBind()
追问
好吧@_@谢谢,我试试
追答
应该是可以的,祝你成功.

如果你不想把它转换成List集合,那你可以直接通过SqlDataApeater直接得到一个DataSet或者DataTable,然后直接赋值给Repeater
liuxingyusky
2013-12-20 · TA获得超过241个赞
知道小有建树答主
回答量:281
采纳率:75%
帮助的人:97.3万
展开全部
.aspx:

2

3

4

5

6

7

<asp:Repeater ID="SellerRpt" runat="server">

<ItemTemplate>

<li><a href='<%# Eval("SellerName")%>' target="_blank">

<%# Eval("ComName")%></a></li>

</ItemTemplate>

</asp:Repeater>

对应的后台cs中,在页面加载处加入数据绑定的代码:

2

3

4

5

6

7

8

9

10

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

DataTable dt = SellerDA.GetTopHotSellers(9);

SellerRpt.DataSource = dt;

SellerRpt.DataBind();

}

}

aspx中"SellerName"、"ComName"为DataTable 中的列名。

优化

直接使用DataItem可减少Eval函数的执行步骤,优化页面解析时间:

<%# ((DataRowView)Container.DataItem)["SellerName"]%>替换<%# Eval("SellerName")%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蜜蜂不会玩BW097
2013-12-20 · 超过20用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:65.7万
展开全部
控件使用问题 你把<ul></ul> 弄到外面来了 正确的格式是这样的

<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <ul> <li>123</li> </ul> </ItemTemplate> </asp:Repeater>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z3522475
2013-12-20
知道答主
回答量:48
采纳率:0%
帮助的人:11万
展开全部
控件使用问题
追问
额,那Repeater控件该怎么用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式