【问题标题】:How to use ASP.Net MVC View inside WebForms .aspx page?如何在 WebForms .aspx 页面中使用 ASP.Net MVC 视图?
【发布时间】:2011-04-06 23:36:32
【问题描述】:

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

为此,我需要做的就是用

替换某些控件

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

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

【问题讨论】:

  • 所以您想将 MVC 中的 View 与 Web 表单结合起来,然后将其用于您的所有应用程序,不是吗?
  • 如果您愿意进行更多重组,请查看zeusmvc.codeplex.com

标签: asp.net-mvc asp.net-mvc-2 webforms


【解决方案1】:

我看到了这个问题,我记得我已经阅读了 Scott Hanselman 的几篇关于此问题的帖子,所以你去吧:

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

我想总结一下你可以:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-08
    • 2014-07-08
    • 2012-04-26
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多