доступ к содержимому главной страницы webform vs MVC - PullRequest
0 голосов
/ 23 ноября 2011

Я знаю, что вы можете получить доступ к элементу главной страницы со страниц контента в мире webform, добавив ссылку, а затем вызвав Page.Master.

Как это можно сделать в MVC 3.0 World?

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Вы не можете получить доступ к элементам в макете из представления - это MVC, а не веб-формы.

Нет таких элементов управления, как в веб-формах, на которые можно ссылаться и которыми можно манипулировать.

Если вы хотите что-то изменить в макете из вида:

  • Используйте ViewBag (как предлагали другие) для передачи значений в макет (для их отображения используйте их для условий).передать их на RenderAction вызовы или частичные просмотры, ...).То же самое можно сделать, используя общий BaseViewModel и строго набрав макет.
  • Определите Rendersection в своем макете и поместите атрибут section в свой вид - все, что вы поместите в раздел, будетрендериться в макете.
1 голос
/ 23 ноября 2011

Система визуализации отличается между двумя.

Razor просматривает рендеринг от потомка к родителю, что означает, что ваша страница макета будет отрисована последней.

Например, нижеследующая часть от вашей страницы макета:

<head>
    <title>@ViewBag.Title</title>
</head>

И вы можете определить, какой заголовок будет из вашего просмотра, как показано ниже:

@{
    ViewBag.Title = "Poo";
}

Так что это проф от порядка рендеринга.

0 голосов
/ 23 ноября 2011

Ты не должен этого делать.«Основная» страница отображается в обратном порядке, чем в веб-формах, поэтому ее содержимое еще не создано.Почему вы пытаетесь получить к нему доступ, может быть, у нас есть лучшее решение для вас?

РЕДАКТИРОВАТЬ: Извините, Тугберк, я вижу, что мое в основном то, что вы сказали, но, возможно, в какой-то момент опер здесь, ха :)*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...