Asp.Net MVC View функция и ViewData

У меня небольшая путаница в Asp.Net MVC

Как работает рендеринг в Asp.net MVC? Мы вызываем функцию View - > которая найдет вид и попросим ViewEngine проанализировать его. Из-за ViewEngine конечный результат - HTML.

1) Независимо от того, какие ViewData мы создаем, они доступны внутри View. Насколько я понимаю, функции ViewData и View являются частью базового класса контроллера, который делает ViewData доступным внутри функции View. Это правильно?

2) Наконец, какой смысл с классом WebViewPage. Ключевое слово ViewData, которое мы используем на странице View(.cshtml), происходит из класса WebViewPage. Какую роль играет WebViewPage здесь.

Я буду очень признателен, если вы укажете мне хороший ресурс, чтобы понять то же самое

2 ответа

1) ViewData - это просто словарь объектов, которые вы можете заполнить в Контроллере и получить в представлении. Поскольку это словарь объектов, вам необходимо преобразовать данные обратно в тот тип, в котором они использовались в полной мере.

2) WebViewPage - базовый тип бритвенной страницы. Это определенный класс, в который страницы бритвы компилируются во время выполнения. web.config внутри папки views указывает pageBaseType из бритвенных страниц специально для WebViewPage. Это два хороших ресурса о том, почему он используется и как вы можете его расширить. Link1 и Link2.

Загляните внутрь исходного кода, который отображает посещение msdn

Другие вопросы по тегам