Требует ли ASP.NET MVC использование главных страниц? - PullRequest
1 голос
/ 17 июня 2010

Моя группа работает над новым веб-приложением и рассматривает возможность использования MVC.Однако есть участники, которые предпочитают включать страницы, а не использовать главные страницы.Возможно ли это сделать в ASP.NET MVC?За тот небольшой промежуток времени, который я потратил на MVC, я так и не смог понять, как этого добиться.

Ответы [ 5 ]

6 голосов
/ 17 июня 2010

Почему предпочтение?

Использовав оба в прошлом, Мастер-страницы намного проще в использовании. Вам просто нужно преодолеть (очень маленькую) кривую обучения.

ASP.NET MVC не заставляет вас делать что-либо одно, хотя ...

Если вам нравится метод Include, то вам, вероятно, будет удобнее использовать Partial Views для обеспечения той же функциональности. Вы просто добавили бы частичные просмотры на каждую страницу вместо того, чтобы включать другую страницу.

1 голос
/ 23 июля 2010

Это вопрос выбора, но для единообразного внешнего вида веб-приложения мастер-страницы дают именно это. Вы должны провести команду через кривую обучения хорошему дизайну главной страницы, не только это будет полезно для текущего проекта, но и будущих проектов. Удачи!

1 голос
/ 17 июня 2010

Вы должны действительно избегать включений на стороне сервера с чем-то более новым, чем классический ASP. Их сложнее отлаживать, IIS с трудом находит правильные номера строк при возникновении проблемы и т. Д. Кроме того, я не рассматривал порядок обработки SSI в конвейере запросов - они могут вообще не работать с ASP.NET.

Если вы переходите в MVC, используйте RenderPartial() или RenderAction(). По сути, они выполняют ту же функцию, что и серверные включения, но в большей степени соответствуют духу структуры и предоставляют некоторые дополнительные преимущества, такие как передача моделей без объявления глобальной переменной (чего также следует избегать, и я не уверен, возможно ли это даже по правилам области видимости .NET).

И, нет, главные страницы не требуются, но вы действительно должны их использовать. Использование include для создания макета вашей страницы работает, но только если вы этого не сделаете и вам не понадобится радикально изменить макет вашего сайта в любой момент в будущем. Сейчас я нахожусь в этой лодке с классическим ASP-приложением в 350 тысяч строк, которое использует очень хорошо структурированный код и #includes для создания макета страницы. Это было лучшее решение, доступное в то время, но сейчас у меня много головной боли (спустя 10 с лишним лет).

С главной страницей вы можете перемещать свои блоки ContentPlaceHolder куда угодно, тогда как с #includes последняя страница действительно определяет формат в порядке, в котором размещаются включения. Это также упрощает создание мобильной версии вашего сайта - вы можете создать главную страницу для мобильного телефона и использовать те же представления контента.

1 голос
/ 17 июня 2010

Нет.Это никоим образом не заставляет вас.

0 голосов
/ 17 июня 2010

Я бы предпочел перейти на мастер-страницы из-за простоты использования и встроенной поддержки в MVC для этого.

Если вы хотите узнать больше об этом, ознакомьтесь с этим учебником: СозданиеМакеты страниц с просмотром главных страниц .

Grz, Kris.

...