繁体   English   中英

在Web窗体中使用c#将参数传递给用户控件

[英]Using c# in Web Forms to passing parameter to user control

从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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM