如何将模型传递给 Umbraco 中的局部视图?

how to pass model to partialview in umbraco?

我想将对象作为模型传递给 Umbraco 中的部分视图。有两个函数 @Html.Partial()@Html.Partial() 有下面列出的 4 个覆盖方法:

@Html.Partial(string partialName)
@Html.Partial(string partialName, Object object)
@Html.Partial(string partialName, Object object, ViewDataDictionary dic)
@Html.Partial(string partialName, ViewDataDictionary dic)

和:

@Html.RenderPartial(string partialName)
@Html.RenderPartial(string partialName, Object object)
@Html.RenderPartial(string partialName, Object object, ViewDataDictionary dic)
@Html.RenderPartial(string partialName, ViewDataDictionary dic)

我尝试使用 @Html.RenderPartial(string partialName, Object object) 和 @Html.Partial(string partialName, Object object) 但我得到这个异常:

Cannot bind source type <>f__AnonymousType0`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] to model type Umbraco.Web.Models.RenderModel.

我在 google 中搜索了很多使用这些方法的示例,但我找不到任何东西。所以有两个问题:

  1. Partial 和 RenderPartial 方法有什么不同?
  2. 如何将数据从 page razor 传递到 partialview?

我找到了解决方案。我的 PartialView 继承自:

Umbraco.Web.Mvc.UmbracoTemplatePage

现在我将其继承更改为:

@inherits Umbraco.Web.Mvc.UmbracoViewPage<MyModel>

然后我可以将我的模型对象添加到 RenderPartial() 方法。