Razor master.cshtml中的UmbracoTemplateview继承会覆盖UmbracoViewPage<;客户模型>;在blog.cshtml中
因此,我需要能够设置我的网站标题的网页上的访问者,所以在我的Master.cshtml我有Razor master.cshtml中的UmbracoTemplateview继承会覆盖UmbracoViewPage<;客户模型>;在blog.cshtml中,razor,umbraco,umbraco7,Razor,Umbraco,Umbraco7,因此,我需要能够设置我的网站标题的网页上的访问者,所以在我的Master.cshtml我有 @inherits UmbracoTemplatePage .... <title>@Model.Content.Name</title> 但这只是给了我这个错误 传递到字典中的模型项的类型为 “Umbraco_Blog.Models.BlogPost[]”,但此词典需要一个模型 “Umbraco.Web.Models.RenderModel”类型的项 如果我删除了布局,它就会工
@inherits UmbracoTemplatePage
....
<title>@Model.Content.Name</title>
但这只是给了我这个错误
传递到字典中的模型项的类型为
“Umbraco_Blog.Models.BlogPost[]”,但此词典需要一个模型
“Umbraco.Web.Models.RenderModel”类型的项
如果我删除了布局,它就会工作。解决这个问题的一个方法是让你的博客模型从RenderModel继承。如果采用这种方法,则需要使用IPPublishedContent实例调用RenderModel构造函数,您可以这样做:
public BlogPost() : base(UmbracoContext.Current.PublishedContentRequest.PublishedContent)
{
}
另一个解决方案是将布局强类型化为基类模型,例如
@model MyBaseViewModel
然后将BlogPost模型更改为从该基础模型继承,并使用
@model BlogPost
请注意,如果采用此方法,则会丢失辅助对象属性,如UmbracoHelper等
@model MyBaseViewModel
@model BlogPost