我正在localhost上开发ASP.NET页面,然后将其上传到服务器上。在localhost上,我成功地在GridView的BoundField的DataField属性中使用了嵌套类。嵌套类的意思是:DataField="Object.property"
,其中Object
是绑定到GridView行的数据项的属性。一切都很好。但当我在服务器上发布网站时,出现了一个异常:
在选定的上找不到名为"Object.properties"的字段或属性数据源。
我试图找到解决方案,发现:GridView与嵌套类的属性绑定
我继续发现,但到处都提到在边界字段中使用嵌套类是不可能的。但它在本地主机上对我来说就像一种魅力。
有人知道为什么吗?它是最新版本的.NET Framework(我在localhost上安装了4.5版,在服务器上安装了4版)还是什么?是的,它看起来很明显的版本是原因,但我没有发现任何关于它的提及。
谢谢你的澄清。Uiii
BoundField列仅显示实例的直接关联属性
所以,我们只有在ItemTemplate中使用DataBinder.Eval来访问嵌套类属性。
这里的代码:
<asp:TemplateField>
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "NestedClass.Name")%>
</ItemTemplate>