如何在umbraco中将模型传递给partialview?

时间:2017-04-18 10:17:21

标签: asp.net-mvc-3 razor 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)但我得到了这个例外:

  

无法将源类型<> f__AnonymousType0`1 [[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]绑定到模型类型Umbraco.Web.Models.RenderModel。

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

  1. Partial和RenderPartial方法有什么不同?
  2. 如何从页面剃须刀传递数据到partialview?

1 个答案:

答案 0 :(得分:1)

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

  

Umbraco.Web.Mvc.UmbracoTemplatePage

现在我将其继承更改为:

  

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

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