【问题标题】:Using ASP.NET MVC under ASP.NET Web form project - Best practiceASP.NET Web 表单项目下使用 ASP.NET MVC - 最佳实践
【发布时间】:2014-07-07 15:48:38
【问题描述】:

目前,我们现有的 asp.net 网络表单应用程序有一个新的菜单项。 为此,我们决定使用 MVC。 请注意,我们必须共享相同的母版页、css 和 Jquery 文件。我们目前正计划在我们的 aspx 页面中的 div 内呈现视图。

  1. 有没有更好的方法来实现这一点?
  2. 我们的方法有哪些局限性?
  3. 我们可以在这种方法中利用 MVC 测试用例吗?

谢谢

【问题讨论】:

  • 您不能使用相同的母版页。 MVC 不能使用 Web 表单母版页。

标签: asp.net-mvc


【解决方案1】:

MVC是一种无状态、无连接的架构,不能像aspx.cs那样直接在控制器中访问母版页或aspx控件,其次不能使用经典的asp.net带有 mvc 的母版页。

您可以从现有项目中重复使用的东西是:

  • UI 模板(设计)
  • JS 文件
  • CSS 文件
  • 业务逻辑
  • 数据库

【讨论】:

    【解决方案2】:

    您不能使用相同的母版页。您不能将 ASP.NET MVC 用于 Web 表单视图的某些部分,反之亦然。您的视图完全在 Web 窗体或 ASP.NET MVC 上。从理论上讲,即使在一个 Web 应用程序中将 Web 表单与 mvc 混合使用也可能会出现问题,但实际上是可能的(见下文第 1 点)。所以一般来说你的问题的答案是否定的。

    如果您正在寻找 ASP.NET MVC,您应该考虑将您的项目逐步迁移到它。

    其实迁移有几种可能

    1. 在一个项目中混合使用 ASP.NET Web 表单和 ASP.NET MVC。从技术上讲是可能的。但这是某种黑客行为。您的转换将是无缝的,但您的 ASP.NET 视图不能。我不会推荐它。你可以在这里找到这种方法http://www.devcurry.com/2013/05/adopting-aspnet-mvc-enhancements-in.html

    2. 在一个解决方案中,为您的 webforms 和 mvc 项目使用不同的项目。事实上,这是 2 个不同的 Web 应用程序,它们通常可以具有共同的身份验证,并且 Web 表单状态存在问题。要解决身份验证问题,您需要为其创建单独的 Web 服务,供双方使用。要解决会话状态的问题,对两者都使用分布式缓存,并尝试将思维从 webforms 状态转变为缓存,因为 mvc 实际上是无状态的。然后对于特定视图,您可以在两个门户的视图之间重定向

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多