Смешивание WebForms и MVC: Что я должен сделать с Masterpage?

StackOverflow https://stackoverflow.com/questions/3578045

Вопрос

Я хочу начать мигрировать приложение 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. Так что моя рекомендация будет не понравиться этому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top