asp.net Repeater控件使用问题
如图,数据库连接正常,与DataGrid的数据绑定,在<ASP:DataGrid>里面正常显示。DataGrid1.DataSource=myDataReaderData...
如图,数据库连接正常,与DataGrid的数据绑定,在<ASP:DataGrid>里面正常显示。
DataGrid1.DataSource=myDataReader DataGrid1.DataBind()
我用一样的方式加入: Repeater1.DataSource=myDataReader Repeater1.DataBind()
却提示“发生错误:未设置对象变量或 With 块变量。” 神啊~这是为什么?!
运行结果如图: 展开
DataGrid1.DataSource=myDataReader DataGrid1.DataBind()
我用一样的方式加入: Repeater1.DataSource=myDataReader Repeater1.DataBind()
却提示“发生错误:未设置对象变量或 With 块变量。” 神啊~这是为什么?!
运行结果如图: 展开
4个回答
展开全部
//你的绑定错了,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
展开全部
.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")%>
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")%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
控件使用问题 你把<ul></ul> 弄到外面来了 正确的格式是这样的
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <ul> <li>123</li> </ul> </ItemTemplate> </asp:Repeater>
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <ul> <li>123</li> </ul> </ItemTemplate> </asp:Repeater>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
控件使用问题
追问
额,那Repeater控件该怎么用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询