代码之家  ›  专栏  ›  技术社区  ›  Jared

如何使用ASP.NetWebForms.aspx页面内的MVC视图?

  •  6
  • Jared  · 技术社区  · 14 年前

    我有一个大型的web应用程序,我已经设置为ASP.NetWeb窗体和MVC。一些较新的页面是MVC(.MVC),一些是Web表单(.aspx)。由于这是一个商业应用程序和功能正在不断增加,我很难有时间停止和取代现有的功能转换过来。所以我想一件一件地做,一件一件地控制。

    要做到这一点,我需要做的就是用

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

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

    1 回复  |  直到 14 年前
        1
  •  5
  •   Community CDub    7 年前

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

    我想总结一下,你可以:

    • 有ASP.NETMVC和ASP.NET并排的WebForms,例如您可以在ASP.NETMVC和旧版本将保留在WebForms中(如果它可以工作,为什么要重写它?)。你“只是”需要弄清楚如何共享母版页。
    • 您可以在非Razor中使用基本的WebForms控件ASP.NETMVC视图,但是如果它们使用回发或需要ViewState,它们将不起作用,因为完整的WebForms生命周期不在其中ASP.NETMVC视图。
    • 关于WebForms内部的局部视图。Uou可以破解/强制ASP.NETMVC管道将路由/视图呈现为字符串,并将其附加到WebForms页面。然而,问题在于,如果您正在进行编辑,那么在POST和MVC模型验证过程中,您将丢失模型绑定,这有多有用。一些渲染视图的代码- How to include a partial view inside a webform . 如果需要,您也可以使用ajax拉取局部视图。