步驟一:添加引用 -> 程序集 -> 擴展 ->
- System.Web.Mvc ;
- System.Web.Razor;
- System.Web.WebPages;
- System.Web.Abstractions;
步驟二:mvc默認目錄結構
新建一個空的mvc項目, 將Controllers和Views文件夾全部拷貝過來(文件結構和web.config這個很重要)
步驟三:修改配置文件web.config(不是Views文件夾下的)
1.在compilation節點下加入以下幾個assemblies :
<compilation debug="true" targetFramework="xx"> // 框架版本不用動 <assemblies> <add assembly="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </assemblies> </compilation>
2. 還有一個需要注意的: 在configuration節點下加入 <modules runAllManagedModulesForAllRequests="true"/>
-- 不過我把這個去掉也調試成功了, 這個貌似只是設置每個請求都會執行Global.cs里邊的BeginRequest事件而已
<configuration> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
步驟四:路由設置
1. 可以按照mvc慣例 在App_Start文件夾中創建路由配置靜態方法;RouteConfig.cs文件代碼如下
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; // 引入命名空間 才能注冊mvc的路由 using System.Web.Routing; // 引入命名空間 namespace webform { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); // web form訪問方式 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } }
2. 然后在Global.cs中注冊
public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { RouteConfig.RegisterRoutes(RouteTable.Routes);
接着就可以寫你的controller和View
按照以上步驟調試成功 ╮(╯▽╰)╭
ps: 個人對配置文件里的各個節點作用不是很理解, 就新建了一個空mvc項目然后把Views里邊的東西全部拷貝過來