在DD4T视图中,我试图选择类别中关键字路径的值。
foreach(var category in @Model.Categories)
{
if (category.Title.Contains("Taxonomy"))
{
str = category.Keywords[0].Path;
break;
}
}但是在@Model.Categories中获得null。
错误:对象引用未设置为对象的实例。
尽管数据存在于XML中。
请建议一下。
发布于 2012-06-19 21:21:45
我发现这是DD4T中的一个问题。解决方法非常简单:如果您使用组件(或页面)的实现作为您的模型,而不是使用接口,那么它可以工作。
所以,从以下几个方面开始你的观点:
@model DD4T.ContentModel.Component而不是
@model DD4T.ContentModel.IComponent再试一次。
发布于 2012-06-20 19:53:11
我已经在DD4T Google代码站点这里中记录了这个问题。
这似乎是由于列表和IList不支持逆方差造成的,这意味着如下行:
IList<ICategory> IComponent.Categories
{
get { return Categories as IList<ICategory>; }
}在ContentModel类中永远无法工作。到处挖的建议是将此更改为IEnumerable,这确实支持逆方差。
发布于 2012-06-20 05:51:44
它在实现Quirijn建议后工作,如组件c=(组件)模型;c.Categories.
谢谢你,维卡斯·库马尔
https://stackoverflow.com/questions/11101919
复制相似问题