Partial views are used to encapsulate reusable view logic and are a great means to simplify the complexity of views.
These partial views can be used on multiple views
in controller---------------------------
public ActionResult Index()
{
SampleDBContext db = new SampleDBContext();
return View(db.Employees.ToList());
}
in view-----------------------------
@model IEnumerable<MVCDemo.Models.Employee>
@foreach (var item in Model)
{
@Html.Partial("_Employee",item)
}
in partial view--------------------------------
add a view as "_Employee" below "Shared" folder then type code
* the name of view is used in view
@model MVCDemo.Models.Employee
<table style="font-family: Arial; border: 1px solid black; width: 300px">
<tr>
<td>
<img src="@Url.Content(Model.Photo)" alt="Model.AlternateText" />
</td>
<td>
<table>
<tr>
<td>
<b>Age : </b>
</td>
<td>@Model.Age
</td>
</tr>
<tr>
<td>
<b>Gender : </b>
</td>
<td>@Model.Gender
</td>
</tr>
<tr>
<td>
<b>Salary : </b>
</td>
<td>@Model.Salary
</td>
</tr>
</table>
</td>
</tr>
</table>
=====================
Html.Partial() vs Html.RenderPartial() (better performance)
1. return type
Renderpartial => void
Partial => MvcHtmlString
2. Syntax
@Html.Partial("_Employee")
{Html.RenderPartial("_Employee", item);}
3. View
<%: Html.Partial("_Employee") %>
<% Html.RenderPartial("_Employee";) %>