【问题标题】:Using c# in Web Forms to passing parameter to user control在 Web 窗体中使用 c# 将参数传递给用户控件
【发布时间】:2018-07-26 10:43:33
【问题描述】:

从一个 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()%>" />
<% } %>

我希望这会起作用,有什么问题?

【问题讨论】:

    标签: asp.net razor webforms aspx-user-control


    【解决方案1】:

    你必须使用data binding expression

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 2010-12-15
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 2010-09-20
      • 1970-01-01
      相关资源
      最近更新 更多