gpt4 book ai didi

c# - 是否有一个 ASP.NET 数据绑定(bind)控件(如 Repeater),它只需要一个项目?

转载 作者:行者123 更新时间:2023-11-30 13:26:24 25 4
gpt4 key购买 nike

我正在尝试在 Web 窗体上显示业务对象的许多属性。我当然可以创建大量标签并在代码隐藏中分配所有值,但我觉得必须有一种不那么冗长的方法。

我想要的是类似 asp:Panel 的东西,但您可以在其中指定数据源。 Panels 似乎不支持任何类型的数据绑定(bind)。

我想要的是这样的

// C#
panel.DataSource = theCompany;
panel.DataBind();

然后:

// ASPX

<asp:Panel runat="server">
Name: <%# Eval("Name") %>
Phone: <%# Eval("Phone") %>
...
</asp:Panel>

..但我找不到任何可以让我以这种方式工作的东西。

我以为我可以使用 asp:FormView 但这只会给出错误“数据源是无效类型。它必须是 IListSource、IEnumerable 或 IDataSource。”

需要注意的是,我不想调用全局 DataBind()(这在过去给我们带来了无穷无尽的问题)——我希望将数据绑定(bind)限制为页面的特定部分。

最佳答案

您似乎可以使用面板来做到这一点,但您必须首先将业务对象分配给页面属性,因为无法将业务对象设置为面板的“数据源”(就像您为例如,中继器控制)。

一旦对象被分配为页面属性,您就可以在 .aspx 中使用以下语法来访问该对象的属性,而无需手动分配每个项目以控制隐藏代码中的值:

<%# Company.Name %>

关于c# - 是否有一个 ASP.NET 数据绑定(bind)控件(如 Repeater),它只需要一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24575282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com