How can I render Partial views in asp.net mvc 3?

delete my account picture delete my account · Mar 26, 2011 · Viewed 122.4k times · Source

I have some data in ViewData.Model, and in my views I want to write a partial view and to pass their current model I have in my page.

How I can pass their current ViewData.Model and render them through the location of partials?

Answer

David Glenn picture David Glenn · Mar 26, 2011

Create your partial view something like:

@model YourModelType
<div>
  <!-- HTML to render your object -->
</div>

Then in your view use:

@Html.Partial("YourPartialViewName", Model)

If you do not want a strongly typed partial view remove the @model YourModelType from the top of the partial view and it will default to a dynamic type.

Update

The default view engine will search for partial views in the same folder as the view calling the partial and then in the ~/Views/Shared folder. If your partial is located in a different folder then you need to use the full path. Note the use of ~/ in the path below.

@Html.Partial("~/Views/Partials/SeachResult.cshtml", Model)