如何将现有的asp.net应用程序迁移到asp.net MVC模式格式

时间:2009-02-10 13:02:49

标签: asp.net-mvc webforms migrate

我想将现有的ASP.NET应用程序迁移到ASP.NET MVC模式格式。我应该遵循什么程序?任何分步说明都会非常有用。

4 个答案:

答案 0 :(得分:70)

答案 1 :(得分:2)

我认为从ASP.NET WebForms到ASP.NET MVC不存在“逐步迁移”这样的事情。它们是构建在同一框架上的两种完全不同的设计模式,但是(在大多数情况下)很多东西不仅需要移动,而且需要完全重新设计,如果你不只是想构建一个网页MVC模板项目上的应用程序,而不是WebForms模板。

主要原因是关注点的分离,这在MVC中比在WebForms中要严格得多。我目前正在工作(好吧,我应该......)将一个古老且漂亮的错误爱好项目从WebForms迁移到MVC,我的方法基本上是“查看功能,从头开始重新构建它”。当然我有一些帮助方法来格式化输出等我刚刚包含在我的新项目中,但我选择的大多数基本内容只是为了完全重做。你很惊讶我现在用MVC达到相同的目标是多么少,我在一年半前为WebForms应用程序设置了 - 使用Entity Framework,jQuery和其他甜蜜的东西,你将能够在几个小时内产生结果。

答案 2 :(得分:2)

这些额外的提示可能会有所帮助

  • 用@ *
  • 替换<% - 评论标签
  • 对@section footer {}使用@ RenderSection ("页脚",false)等等,如果您有任何其他 ContentPlaceHolder 除了视图中的主体 RenderBody ()。

  • 所有旧的普通 runat ="服务器" 标签都是无害的,不会阻止编译,之后可以清除

  • 所有控件可通过使用控件ID轻松控制代码隐藏和标记(Visible =" True")并在 code_behind 中控制的可见性必须重构为Razor视图中的 ViewBag 集合和 @if 块。

  • 您还可以在此周围观看Pluralsight的精彩课程 话题(3小时49分钟)

答案 3 :(得分:1)

我的回答是“你没有”:)。如果您真的想这样做,您可以使用当前的asp.net站点作为最终目标,或者作为需求“文档”。也许您可以在模型中使用数据层,但您必须重新设计整个站点。

正如Tomas已经指出的那样,它与经典的asp.net非常不同。