从ASPX页面中,我试图在集合中显示每个项目的用户控件,但是当尝试设置USERCONTROL参数时,C#似乎被忽略了:
<%foreach (Fetus item in this.pregnancy.Fetus) {%>
//this returns a GUID:
"<%= item.Id.ToString() %>"
//this does not work, returns the characters between "" like < %= item.Id.ToString()%>:
<uc1:AntepartumCTGChart runat="server" ID="AntepartumCTGChart" FetusId="<%= item.Id.ToString()%>" />
<% } %>
我希望这能起作用,怎么了?
您必须使用数据绑定表达式
<uc1:AntepartumCTGChart runat="server" ID="AntepartumCTGChart" FetusId='<%# item.Id.ToString()%>' />
,但是您必须在代码中调用DataBind()
才能工作。
您也可以使用中继器
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<uc1:AntepartumCTGChart runat="server" ID="AntepartumCTGChart" FetusId='<%# Eval("id").ToString()%>' />
</ItemTemplate>
</asp:Repeater>
,然后将数据绑在代码
后面Repeater1.DataSource = pregnancy.Fetus;
Repeater1.DataBind();