Смешивание WebForms и MVC: Что я должен сделать с Masterpage?
-
01-10-2019 - |
Вопрос
Я хочу начать мигрировать приложение WebForms в MVC. Процесс будет постепенным, поэтому обе системы должны сосуществовать.
Вопрос в том: Если у меня есть два шестерня, один для страниц WebForms и другие для видов MVC? Есть ли способ иметь только один?
Решение
В 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. Так что моя рекомендация будет не понравиться этому.