如何在WebForms .aspx页面中使用ASP.Net MVC View?

Jar*_*red 6 asp.net-mvc webforms asp.net-mvc-2

我有一个大的Web应用程序,我已经设置为ASP.Net Web窗体和MVC.一些较新的页面是MVC(.mvc),一些是Web窗体(.aspx).由于这是一个商业应用程序,并且不断添加功能,因此我很难有时间停止并替换现有功能以将其转换.所以我想一点一点地做,控制控制.

要做到这一点,我需要做的就是替换某些控件

<% Html.RenderPartial() %> 要么 <% Html.HelperMethod %>

是否可以包含名称空间或从某些内容继承页面以允许使用这些方法,同时仍然为页面上的其他控件维护页面生命周期的其余部分?

Iva*_*tev 5

我看到了这个问题,我记得我已经阅读了Scott Hanselman关于此的一些帖子,所以你走了:

还有两篇关于这个主题的文章:

我想总结一下你可以:

  • 并行ASP.NET MVC和ASP.NET WebForms,例如你可以在ASP.NET MVC中拥有新视图,而旧的视图将保留在WebForms中(如果它有效,为什么要重写它?).你"只是"需要弄清楚如何共享母版页.
  • 您可以在非Razor ASP.NET MVC视图中使用基本WebForms控件,但如果它们使用PostBacks或需要ViewState - 它们将无法工作,因为ASP.NET MVC视图中不存在完整的WebForms生命周期.
  • 关于WebForms内部的部分视图.您可以破解/强制ASP.NET MVC管道将路由/视图呈现给字符串并将其附加到WebForms页面.然而问题和问题是,如果您正在进行编辑,那么在POST期间您将松开模型绑定以及MVC模型验证是多么有用.一些用于呈现视图的代码 - 如何在webform中包含局部视图.如果需要,您也可以使用ajax拉取局部视图.