How to layout a page with MVC3 Razor?

I've been reading about layouts, sections, views and partial views, but I don't really know how to approach a layout like this example:

enter image description here

  • Top bar: would be like the bar that Facebook have on top. I would contain the authentication information and general options and menus.

  • Navigation bar: would contain information about where are you, and where can you go. Also a "search" box.

  • Body: The actual wanted information.

  • Side bar: would contain relevant information about what is in the body.

  • Footer: copyright, licence and things вот так.

Body будет «View», Sidebar будет «Section», Footer будет статическим HTML в «Layout», но. .. что будет за верхняя панель и навигация ?

Верхняя панель ни с чем не связана, поэтому я бы назвал ее «Частичный вид» в «Макете», но я не могу этого сделать, потому что она должна находиться внутри в любом случае, поэтому, когда я вызываю @RenderBody () , он должен быть отрисован. То же самое и с Навигация , она так или иначе связана с телом, но я хотел бы отделить ее как внешний элемент управления, который работает сам по себе и показывает информацию в зависимости от информации в URL.

Как мне подойти к этому?

ОБНОВЛЕНИЕ, пожалуйста, прочтите: Вопрос не в CSS и HTML, он не в том, как это сделать, а в том, как использовать инструменты Razor для этого, он касается Razor RenderBody и PartialView .

Когда я возвращаю результат от своего контроллера, я хочу вернуть только то, что помечено на картинке как «тело», и «боковая панель» как раздел, я бы хотел избежать повторения верхнего штрих-кода. Есть ли способ создать «ChildView», который наследуется от «ParentView», а это от «Layout» таким образом, чтобы при возвращении «View (« ChildView ») экран строился автоматически?

16
задан vtortola 16 May 2011 в 14:31
поделиться