Смешивание WebForms и MVC: что мне делать с MasterPage? - PullRequest
2 голосов
/ 26 августа 2010

Я хочу начать миграцию приложения WebForms в MVC.Процесс будет постепенным, поэтому обе системы должны сосуществовать.

Вопрос: Должны ли я иметь две мастер-страницы, одну для страниц веб-форм и другую для представлений MVC?Есть ли способ иметь только один?

1 Ответ

3 голосов
/ 26 августа 2010

В ASP.NET MVC главная страница должна быть производной от System.Web.Mvc.ViewMasterPage, а в классических веб-формах - от System.Web.UI.MasterPage. Если в MVC вы используете последний, у вас не будет доступа ни к каким помощникам. Хотя вы можете использовать ViewMasterPage в классических веб-формах, потому что он происходит от MasterPage (еще раз, у вас не будет доступа к помощникам в приложении веб-форм, но кого это волнует).

Так что, чтобы ответить на ваш вопрос, да, у вас может быть общая главная страница, если предположить, что она происходит от ViewMasterPage.

При этом вы, вероятно, не сможете выполнить эту работу, поскольку на главной странице MVC вы будете использовать помощники HTML для визуализации частичных представлений, таких как Html.RenderPartial, что не имеет особого смысла в классическом приложении WebForms и т. Д. наоборот, в классическом приложении WebForms вы, вероятно, использовали бы некоторые серверные элементы управления, такие как <asp:xxx runat="server" />, или имели бы один тег form (снова с runat="server"), загрязненный ViewState и т. д., что вряд ли имеет какой-либо смысл в MVC. Поэтому я бы не стал так делать.

...