【问题标题】:Repeat an user control in user interface在用户界面中重复用户控件
【发布时间】:2023-03-18 06:26:01
【问题描述】:

我正在使用 ASP.NET Web 窗体,并创建了一个自定义 .ascx 用户控件,它表示具有类型、图片和颜色等属性的汽车。

现在我尝试以重复的方式在用户界面上添加这个自定义控件。假设我在数据库中有 5 辆汽车,那么 5 个用户控件将在 ASP 控件内的 UI 上呈现。

我一直在寻找这样的控件,研究网格视图和中继器,但它们似乎只有从“原始”类型构建的对象列表作为数据源,而不是像我的自定义 ascx 控件列表这样的对象。

我的问题是我是否可以以某种方式在 asp 或 html 控件内的重复循环中呈现这些用户控件,从而提供格式化它的选项(支持 css)? (如果是这样,请给我一个例子)

【问题讨论】:

  • 为什么要呈现 usercontroll 似乎您在用户控件项中传递实际值,而不是您可以只生成这些项。
  • 拥有一个用户控件,我可以在多个地方重复使用相同的用户界面格式。

标签: c# asp.net controls


【解决方案1】:

创建一个ListView,其中包含您的用户控件,然后将List<CarObject> 绑定到该ListView

<asp:ListView ID="listView1" runat="server">
    <ItemTemplate>
        <myUC:MyUserControl ID="myUserControl" runat="server" />
    </ItemTemplate>
</asp:ListView>

将您的对象列表(例如List&lt;Car&gt;)绑定到该列表视图listView1.DataSource = myListOfCars;。然后在 ItemDataBound 事件中将您的对象绑定到您的用户控件。

您也可以将用户控件中的标记放在ListView 中,然后将信息绑定到ItemDataBound 事件中,从而完全避开整个用户控件问题。这仍然允许您重用标记。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2011-08-01
    • 2011-09-22
    • 1970-01-01
    相关资源
    最近更新 更多