步骤一:添加引用 -> 程序集 -> 扩展 ->

  • 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

按照以上步骤调试成功 ╮(╯▽╰)╭

示例代码:Asp.netMigrateToMVC.zip

ps: 个人对配置文件里的各个节点作用不是很理解, 就新建了一个空mvc项目然后把Views里边的东西全部拷贝过来

转载于:https://www.cnblogs.com/mushishi/p/4084365.html

WebForm与MVC混用相关推荐

  1. webform 转 MVC 飞一般的感觉

    前言: 浅谈webform与mvc,让开发变得更加简单,这里主要通过比较webform与mvc的开发方式,以下全属个人看法,不完善的地方可以留言补充. 正文: 废话不多说,直接说工作中经常用到的地方 ...

  2. Asp.Net中WebForm与MVC,Web API模式对比

    webform,web mvc和web api都是asp.net官方的三套框架,想对比下三者的关系,查了下资料,web api跟web mvc基本同属一脉,只是mvc多了一个视图渲染,网上有些博客介绍 ...

  3. VS2013无法创建WebForm和MVC项目的解决方案

    VS2013无法创建WebForm和MVC项目的解决方案: 错误提示:系统找不到指定的文件(Exception HRESULT:08x0070002) 究其原因,竟然是没有安装NuGet. 打开"工具 ...

  4. ASP.NET WebForm和Mvc开发的比较

    在初步了解MVC后,发现很多人对于MVC和三层架构开发概念上会有很大的混淆,所以把这两天的学习笔记整理一下,分享给自己的同学们.同时也做一个小Demo,让没有接触过MVC开发的同学,能对MVC有一个简 ...

  5. WebForm与MVC模式优缺点

    Asp.net Web开发方式,分为两种: 1. WebForm开发 2. Asp.Net MVC开发 MVC是微软对外公布的第一个开源的表示层框架,MVC目的不是取代WebForm开发,只是web开 ...

  6. 不用asp.net MVC,用WebForm照样可以实现MVC(请看最后一句话)

    在<避开WebForm天坑,拥抱ASP.Net MVC吧>这篇博客中我讲到了ASP.net WebForm由于一些先天的"诱导犯罪"的缺陷,现在用ASP.net MVC ...

  7. 不用asp.net MVC,用WebForm照样能够实现MVC

    在<避开WebForm天坑,拥抱ASP.Net MVC吧>这篇博客中我讲到了ASP.net WebForm由于一些先天的"诱导犯罪"的缺陷,如今用ASP.net MVC ...

  8. 【.NET特供-第三季】ASP.NET MVC系列:传统WebForm站点和MVC站点执行机制对照

    本文以图形化的方式,从'执行机制'方面对照传统WebForm站点和MVC站点. 请參看下面图形: 一.执行机制 当我们訪问一个站点的时候,浏览器和server都是做了哪些动作呢? (本文仅仅是提供一个 ...

  9. Response.End()在Webform和ASP.NET MVC下的表现差异

    前几天在博问中看到一个问题--Response.End()后,是否停止执行?MVC与WebForm不一致.看到LZ的描述后,虽然奇怪于为何用Response.End()而不用return方式去控制流程 ...

最新文章

  1. 边缘计算将吞掉云计算!
  2. html下拉框只读,HTML元素(如select下拉框)设置为只读
  3. Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
  4. OSChina 周一乱弹 ——程序员用代码写的爱情
  5. 信用卡如何安全取现?
  6. sql server调试_使用SQL Server扩展事件来调试应用程序
  7. 终于理解你的软件 搞那么多年了 (通用权限管理系统组件源码完善了7-8年)
  8. linux个人游戏服务器搭建,linux游戏服务器搭建(一)
  9. 选择Spring集成好的Spring Cloud Zuul方便更快
  10. Git 修改历史提交中的用户名和邮箱
  11. 【成功的忙人】在北京30套房的小哥:人一闲,就废了!
  12. java 里大于且小于_java-浮点数大于或小于零
  13. 数据结构目录树(严蔚敏王道)版
  14. 国庆长假来啦!这些消遣目的地最适合程序员
  15. 前端工程师需要学习ps 吗_前端人员一定要掌握的PS技巧
  16. PS和PL共享DDR
  17. 创始团队如何保持对公司的控制权?Snapchat这里可能有一份指南
  18. java设计模式之——单例模式(八种实现)
  19. 【UnityShader】凹凸映射之高度贴图和法线贴图
  20. 红帽 linux 安装gns3,GNS3 on Centos / Redhat / Fedora源码安装

热门文章

  1. 14.1 线程回顾和同步函数
  2. javascript实现二叉搜索树
  3. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_8_Throwable类中3个异常处理的方法...
  4. Java抽象类和接口
  5. [BZOJ5249][九省联考2018]IIIDX(线段树)
  6. 让你提升命令行效率的 Bash 快捷键 [完整版]
  7. 【Python之路】第五篇--Python基础之杂货铺
  8. 嵌入式linux和嵌入式android系统有什么区别和联系?
  9. 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
  10. Log Cauchy分布的一个Hierarchical模型:LC=Gamma+Gamma+Unif