asp.net – 如何将gridview列绑定到子类值?

前端之家收集整理的这篇文章主要介绍了asp.net – 如何将gridview列绑定到子类值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.net gridview,我正在尝试绑定.我的DataSource有一个集合,我绑定的2列是子类的一部分.我的DataSource有一个名为Staff的子类,其中包含人员信息. Boundfields 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?

如何将列绑定到子类值?我是否必须在代码隐藏中执行此操作?

任何帮助,将不胜感激,

标记.

解决方法

我相信你可以使用Template字段和标记scriptlet来实现这一点……
<asp:TemplateField>
        <ItemTemplate>
            <asp:Label Id="lblSubclassVal" runat="server" Text="<%# DataBinder.Eval(Container.DataItem,"SubClass.PropertyName")%>"></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>

猜你在找的asp.Net相关文章