求助:关于读取repeater里绑定的Label的值
Html页代码:
<div style="Z-INDEX: 100; POSITION: absolute; TOP: 90px">
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<asp:Label ID="lblTitle" Runat="server">
<%# DataBinder.Eval(Container.DataItem, "Description") %>
</asp:Label>
<br>
</ItemTemplate>
</asp:repeater>
</div>
后台代码:
for(int i=0;i<Repeater1.Items.Count;i++)
{
if(Repeater1.Items[i].ItemType==ListItemType.Item||
Repeater1.Items[i].ItemType == ListItemType.AlternatingItem)
{
Label label = (Label)Repeater1.Items[i].FindControl("lblTitle");
arrayTitle.Add(label.Text);//arrayTitle是我实例化的一个arraylist
}
}
问题:
读出来的label.Text是空值,但页面上能显示出来,Page_Load里的数据绑定已经全部放在if(!IsPostBack)里了。
问题点数:50、回复次数:6Top
1 楼coolker()回复于 2006-07-04 21:03:49 得分 0
这样当然读不出来。因为<asp:repeater>是一个循环显示数据库的记录。你的<asp:label>自然也被LOOP了。这样ID也被LOOP了。读的时候就挂了。用e.Item.Cells[0]来读就可以读到值了。。Top
2 楼arthur08(arthur)回复于 2006-07-04 21:21:29 得分 0
能说得具体点吗?我在label的地方放个radiobuttonlist的话就可以,
RadioButtonList rblist = (RadioButtonList)Repeater1.Items[i].FindControl("rblAnswer"); rblist.SelectedValue能正常读取
这是为什么呢?Top
3 楼arthur08(arthur)回复于 2006-07-04 21:22:31 得分 0
<ItemTemplate>
<asp:Label ID="lblTitle" Runat="server">
<%# DataBinder.Eval(Container.DataItem, "Description") %>
</asp:Label>
<asp:RadioButtonList ID="rblAnswer" DataSource='<%# GetSource(DataBinder.Eval(Container.DataItem, "ID").ToString()) %>' Runat="server" Width="448px" RepeatDirection="Horizontal" >
</asp:RadioButtonList>
<br>
</ItemTemplate>Top
4 楼gonguui1982(灰兔子)回复于 2006-07-05 15:43:05 得分 0
没有人能帮我吗?还是我描述的不够明确?Top
5 楼arthur08(arthur)回复于 2006-07-05 20:47:04 得分 0
再顶!Top
6 楼arthur08(arthur)回复于 2006-07-06 12:40:01 得分 0
请高手不吝赐教!Top




