【问题标题】:Using Eval in aspx when Binding data to repeater control asp.net将数据绑定到中继器控件asp.net时在aspx中使用Eval
【发布时间】:2016-02-13 00:57:07
【问题描述】:

我有类绑定到转发器,因为这里是类的结构列表

public String Name { get; set; }
public String Description { get; set; }
public List<ProductRecord> ProductList { get; set; }

我可以在 aspx 页面上获取 Eval("Name")。我如何访问 Eval 中的 ProductList 属性,例如 ProductRecord 具有 Name 属性

提前谢谢你

【问题讨论】:

  • 您好,感谢您的快速回复,我收到一个错误,因为我的班级中有产品列表附加信息:DataBinding: 'System.Collections.Generic.List`1[[ProductRecord, Web, Version= 1.0.0.0,Culture=neutral,PublicKeyToken=null]]' 不包含名为“Name”的属性。

标签: asp.net webforms eval


【解决方案1】:

您需要告诉 Eval 您想要多个 ProductRecord 中的哪一个。问题是您想要导航一对多的关系并从多个中获取价值。您必须使其成为一对一的关系。为此,您可以指定一个元素,例如:

Eval("ProductList[0].Name")

另一种选择是将 ProductList 放在一个新的中继器上,这样您就可以为您的结构显示 ProductList 的所有属性。或者将所有值连接成一个值进行显示。

【讨论】:

  • 您好,感谢您的回复。现在使用新的或子中继器是有意义的,但如果将来我将有子产品或类型来显示,那么拥有另一个中继器将变得混乱。所以我正在考虑使用其他东西,比如引导可折叠面板。我将不得不深入研究如何从背后的 asp.net 代码中读取数据并使用引导可折叠面板在页面上显示。通过这样做,我将更好地控制数据和表示。请问有什么建议吗?
  • 不确定您想通过使用引导可折叠面板来完成什么。你能详细说明一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
相关资源
最近更新 更多