【发布时间】:2011-07-23 10:24:04
【问题描述】:
我在ViewData.Model 中有一些数据,在我的视图中,我想编写一个局部视图并传递我在页面中拥有的当前模型。
我如何传递他们当前的ViewData.Model 并通过部分位置渲染它们?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 partial-views partial
我在ViewData.Model 中有一些数据,在我的视图中,我想编写一个局部视图并传递我在页面中拥有的当前模型。
我如何传递他们当前的ViewData.Model 并通过部分位置渲染它们?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 partial-views partial
创建您的局部视图,例如:
@model YourModelType
<div>
<!-- HTML to render your object -->
</div>
那么在你看来使用:
@Html.Partial("YourPartialViewName", Model)
如果您不想要强类型分部视图,请从分部视图顶部删除@model YourModelType,它将默认为dynamic 类型。
更新
默认视图引擎将在与调用局部视图的视图相同的文件夹中搜索局部视图,然后在 ~/Views/Shared 文件夹中搜索。如果您的部分位于不同的文件夹中,那么您需要使用完整路径。注意下面路径中~/的使用。
@Html.Partial("~/Views/Partials/SeachResult.cshtml", Model)
【讨论】:
@Html.RenderPartial(string viewName) 是为了..?它总是给出一个错误说Cannot implicitly convert type 'void' to 'object'。
<%= Html.Partial("PartialName", Model) %>
【讨论】: