【问题标题】:What is the best way to migrate a MVC 2 project to MVC 3 using the Razor view engine?使用 Razor 视图引擎将 MVC 2 项目迁移到 MVC 3 的最佳方法是什么?
【发布时间】:2011-02-10 16:54:48
【问题描述】:

使用 Razor 视图引擎将 MVC 2 项目迁移到 MVC 3 的最佳方法是什么?

【问题讨论】:

    标签: c# asp.net asp.net-mvc-3 razor


    【解决方案1】:

    详情可在 ScottGu 博客的this post 中找到(请参阅如何升级现有项目部分)。我使用了MVC 3 project upgrade tool,在运行它后,我的应用程序只遇到了一些小问题。

    【讨论】:

      【解决方案2】:

      David Hayden 的博客上也有升级工具的链接:http://davidhayden.com/blog/dave/archive/2011/01/05/ASPNETMVC3TutorialsIndex.aspx

      【讨论】:

        【解决方案3】:

        Telerik 编写了一个程序来将普通的 aspx 视图转换为 razor

        看看这里:https://github.com/telerik/razor-converter

        【讨论】:

          【解决方案4】:

          您需要/想要迁移到 Razor 还是仅仅拥有 MVC 3?您仍然可以将您的 aspx 页面与 WebFormViewEngine 和 MVC 3 一起使用。 这就是我所做的,因为我们有一个相当大的应用程序,并且在迁移到 MVC 3 时不仅仅是几个问题。所以有一段时间我们保留了 apsx 页面并逐步将页面移动到 cshtml。

          【讨论】:

            【解决方案5】:

            学习 Razor 语法是无可替代的

            Programming Razor

            我认为一些开发人员过度考虑剃须刀并使其变得更难。如果您了解 HTML、JavaScript 和 C#,只需学习一些基本语法,例如代码块

            @model MyApp.Models.MyEntity
            
            @{
                // this is a code block
                ViewBag.MyData = "i need to use a semicolon here";
            }
            
            <div class="myclass">
            //This is inline razor/C# code that uses a 
            //lambda expression to access a model property:
            @Html.TextBoxFor(m => m.MyProperty)
            </div>
            

            razor 引擎知道 C# 的结束位置和 HTML 的开始位置,您只需要学习一些基本规则。

            编辑:我想说的是,工具并不是从 MVC 2 转换为 MVC 3 或 4 Razor 的唯一方法。转换工具并不完美。了解 Razor 语法也很有帮助。

            【讨论】:

            • 好的,你的意思是什么?您不必知道从 MVC2 转换为 MVC3 的 razor 语法吗?我不认为升级工具是从 MVC2 转换到 MVC3 的唯一方法。有时需要手动将 ASPX 转换为 Razor,因此了解 razor 语法总是一个好主意。
            猜你喜欢
            • 1970-01-01
            • 2011-06-29
            • 1970-01-01
            • 1970-01-01
            • 2011-03-11
            • 1970-01-01
            • 1970-01-01
            • 2017-04-24
            • 2011-11-05
            相关资源
            最近更新 更多