【问题标题】:From web forms to Razor从 Web 表单到 Razor
【发布时间】:2011-03-08 15:05:45
【问题描述】:

我有一个刚刚升级到 .net 4 的 .net 2.0 Web 表单站点。现在我想使用 Razor 语法和一些 mvc 帮助程序。谁能给出一个逐步的过程来开始使用它吗?

(是的,我知道混合不同的视图引擎并不简单,但我不是要求这样做。只是为了能够创建一个新的 _layout 和一个新的 ContentPage.cshtml 并开始使用一些 mvc 助手并让它与旧页面并行工作 - 我将复制母版页功能,以便使用 razor 编写新页面,并使用旧母版页在 webform 中修复旧页面)

我只需要知道以下几点:

  • 我需要包含哪些程序集
  • 我需要对 web.config 进行哪些更改
  • 还有其他变化吗?

感谢您的帮助

拉尔西

【问题讨论】:

    标签: asp.net-mvc-3 webforms razor


    【解决方案1】:

    Scott hanselman 对此发表了一篇很棒的文章:

    Integrating ASP.NET MVC 3 into existing upgraded ASP.NET 4 Web Forms applications

    【讨论】:

      【解决方案2】:

      您需要包含System.Web.Mvc 3.0 版。

      在您的 web.config 中,您需要确保 UrlRoutingModule 已注册为 HttpModule。您的IHttpHandler 是由IRouteHandler 实现创建的,它是ASP.NET Mvc 中的MvcRouteHandler

      您还需要在Global.asax 中注册您的路线以设置路线。默认路由注册(对于 MVC2 项目)如下所示:

          public static void RegisterRoutes(RouteCollection routes)
          {
              routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      
              routes.MapRoute(
                  "Default", // Route name
                  "{controller}/{action}/{id}", // URL with parameters
                  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
              );
      
          }
      
          protected void Application_Start()
          {
              AreaRegistration.RegisterAllAreas();
      
              RegisterRoutes(RouteTable.Routes);
          }
      

      我不确定他们是否对 Mvc 3 中的内容进行了任何更改,但您可以通过在 Visual Studio 中创建一个新的 Mvc Web 应用程序项目并打开Global.asax 来了解

      【讨论】:

        【解决方案3】:

        您可以查看upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3 指南。如果你有一个经典的 WebForms 应用程序(不是 MVC),那么就没有迁移 => 有一个重写。

        【讨论】:

          【解决方案4】:

          【讨论】:

            【解决方案5】:

            Telerik 为 asp.net mvc 编写了一个从 aspx/ascx 到 cshtml 的命令行转换器。您可以在以下位置找到:https://github.com/telerik/razor-converter

            还有一个不错的 Visual Studio 插件,它使用 Telerik 代码:http://visualstudiogallery.msdn.microsoft.com/d2bfd1ca-9808-417c-b963-eb1ea4896790

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-12-26
              • 2017-12-28
              • 2017-04-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-10-31
              • 1970-01-01
              相关资源
              最近更新 更多