我如何在asp.net mvc 3中渲染部分视图

43 asp.net-mvc partial-views partial asp.net-mvc-3

我有一些数据ViewData.Model,在我看来,我想写一个局部视图,并传递我在页面中的当前模型.

我如何传递他们的电流ViewData.Model并通过部分位置渲染它们?

Dav*_*enn 102

创建部分视图,例如:

@model YourModelType
<div>
  <!-- HTML to render your object -->
</div>
Run Code Online (Sandbox Code Playgroud)

然后在您的视图中使用:

@Html.Partial("YourPartialViewName", Model)
Run Code Online (Sandbox Code Playgroud)

如果您不想要强类型的局部视图,请@model YourModelType从局部视图的顶部删除它,它将默认为一个dynamic类型.

更新

默认视图引擎将在与调用partial的视图相同的文件夹中搜索部分视图,然后在〜/ Views/Shared文件夹中搜索.如果您的partial位于不同的文件夹中,则需要使用完整路径.请注意~/以下路径中的使用.

@Html.Partial("~/Views/Partials/SeachResult.cshtml", Model)
Run Code Online (Sandbox Code Playgroud)

  • @shashwat - 在括号内使用RenderPartial以避免该错误. (3认同)
  • 例如@ {Html.RenderPartial("_ ContactForm",Model); } (3认同)