在我的asp.net标记中我有一个foreach循环遍历一个简单的列表。在这个foreach循环中,我添加了一个新的用户控件并尝试从循环中传入值。然而,这个价值只是不会让步并进入那该死的控制!有人有什么建议吗?
<%foreach (userInfo i in this.items)
{ %>
<uc1:ItemControl ID="ItemControl" runat="server" UserID='<%#Eval("userID") %>'/>
<%} %>
userID是控件中的公共属性,当它设置时,该值只是字面上的:&lt;%#Eval(“userID”)%&gt;。我已经尝试了#Bind和= Value,但似乎没有任何效果。
任何帮助将不胜感激!
答案 0 :(得分:4)
看起来像repeater的完美用例:
<asp:Repeater runat="server" id="myRepeater">
<uc1:ItemControl ID="ItemControl" runat="server" />
</asp:Repeater>
您可以将列表(this.items
)数据绑定到转发器,并在后面的代码中,在DataBind
事件中设置UserID
控件的ItemControl
属性。< / p>
您的方法不起作用的原因是ID必须在页面中是唯一的。
答案 1 :(得分:3)
尝试使用Repeater控件