我正在localhost上开发ASP.NET页面,然后将其上传到服务器上。在localhost上,我成功地在GridView的BoundField的DataField属性中使用嵌套类。通过嵌套类我的意思是:DataField="Object.property"
其中Object
是绑定到GridView行的数据项的属性。一切正常。但是当我在服务器上发布网站时,会发生异常:
在所选内容中找不到名为“Object.property”的字段或属性 数据来源。
我试图找到解决方案并发现:GridView bound with Properties of nested class
我继续发现,但到处都提到在boundfields中使用嵌套类是不可能的。但它在localhost上对我来说就像是一种魅力。
有谁知道为什么?它是.NET Framework的最新版本(我在localhost上安装了4.5版本,在服务器上安装了版本4)还是什么?是的,显然版本是原因,但我没有找到任何提及它。
感谢您的澄清。 Uiii
答案 0 :(得分:0)
BoundField列仅显示与实例
的直接关联属性因此我们必须在ItemTemplate中使用DataBinder.Eval来访问嵌套的类属性。
此处的代码:
<asp:TemplateField>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>
</ItemTemplate>