【发布时间】:2026-01-31 09:05:01
【问题描述】:
我有一个正在尝试绑定的 ASP.net gridview。我的 DataSource 有一个集合,我绑定的 2 个列是子类的一部分。我的 DataSource 有一个名为 Staff 的子类,其中包含员工信息。绑定字段 SurveyID 和 NumberOfExceptions 绑定良好,但无法绑定 Staff.Name 和 Staff.Office。
asp:BoundField DataField="SurveyID" HeaderText="ID" ...
asp:BoundField DataField="Staff.Name" HeaderText="Name" ...
asp:BoundField DataField="Staff.Office" HeaderText="Office" ...
asp:BoundField DataField="NumberOfExceptions" HeaderText="Exceptions" ...
而后面的代码是:
uxSurveyGrid.DataSource = searchResults;
uxSurveyGrid.DataBind();
如果我在后面的代码中键入 searchResults[0].Staff.Name 可以看到值,为什么运行时无法在 gridview 中评估 Staff.Name?
如何将列绑定到子类值?我必须在代码隐藏中做吗?
任何帮助将不胜感激,
标记。
【问题讨论】:
-
“Staff”是否有一个 getter/setter? Staff 类是否为“Name”和“Office”定义了 getter/setter。 DataBinder.Eval 的条件之一(我很确定 BoundField 用于访问数据)是为尝试检索的值定义 getter/setter。