I’m a beginner in ASP.NET MVC3 and I would like to be sure the way I do is a good one. Let’s say I have a page containing different things such as some header info at the top and some detail info (footer) at the bottom. I prefer to create partial pages to split all these things in small pages (easy to manage).
Below is an example page:

Here is the way I cut my page into small pages.

This way of doing is (for me at least) easy to understand and to manage.
Here is my Detail.cshtml page
@model DocumentManager.ViewModels.SuiteDetailViewModel
<div class="detail-header-toolbar"> @Html.Partial("DetailHeaderToolbar") </div>
<div class="detail-header-affaire"> @Html.Partial("DetailHeaderAffaire") </div>
<div class="detail-footer-suite"> @Html.Partial("DetailFooterTabs", Model.Suite) </div>
<div class="detail-script"> @Html.Partial("DetailScript", Model.Suite) </div>
I place all my scripts in one page for convenience (DetailScript.cshtml).
I would like your opinion. Thank you.
In my opinion splitting the page into smaller parts is a good way of organizing your code.
You should take a look at Layouts – using a layout will help you minimize duplicated code and apply consistent look & feel.
You’re right to pass smaller models to your partial views.
The only change I would make would be to move divs with classes (
<div class="detail-header-toolbar">) inside partial views – they are really a part of the partial view.