也玩ASP.NET MVC 与 WebFroms 整合
目标:
以前有老的WebForm应用程序,希望一步步转移到MVC,或者使二者能够部署在一起,把MVC项目整合到之前的WebForm项目中。
步骤:
把MVC项目转移到WebForm WebApplication项目中
1.在之前的WebApplication中引用以下程序集
- System.Web.Extensions
- System.Web.Helpers
- System.Web.Mvc
- System.Web.Razor
- System.Web.Routing
- System.Web.WebPages
- System.Web.WebPages.Razor
说明:System.Web.Razor与System.Web.WebPages.Razor可选,如果你的MVC项目使用了Razor引擎则必须添加
2.配置路由
把之前在Mvc项目中的路由配置拷贝到WebApplication中,然后在Application_Start事件中注册路由表
public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute("Default", // Route name"{controller}/{action}/{id}", // URL with parametersnew { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults);}void Application_Start(object sender, EventArgs e) {// Code that runs on application startupRegisterRoutes(RouteTable.Routes);}
当然别忘了在Global.aspx.cs中引用下列命名空间
using System.Web.Mvc;
using System.Web.Routing;
3.复制Controls,Models,View文件夹中的代码到WebApplication项目中
实际上在开发中大家是把Controls与Models等拆分成独立的项目来开发的,这样只要在WebApplication项目中引用这些项目即可。
不过目前有一个疑问是:controlers命名空间与当前项目的关系,MVC为何会调用aa.Controlers中的方法而不是,bb.Controlers中的方法
4.复制web.config中的一下配置节到新项目中<system.web>配置节下
<compilation debug="false" targetFramework="4.0"><assemblies><add assembly="System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/><add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><add assembly="System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></assemblies></compilation>
到这里,基本操作已经完成,上边只是操作简单是Demo,在真实的项目中可能还会遇到其他的问题,注意在操作过程中是否引用了一些其他的程序集等等,一步一步的加进来就可以了。
当然也是可以整合到Website项目中的,方法类似。在修改Global.aspx时注意使用以下语句引入命名空间
<%@ Import Namespace="System.Web.Mvc" %>
<%@ Import Namespace="System.Web.Routing" %>
转载于:https://www.cnblogs.com/x2048/archive/2011/04/20/2022557.html
也玩ASP.NET MVC 与 WebFroms 整合相关推荐
- Spring.NET 1.3.1 新特性探索系列1——ASP.NET MVC的依赖注入
Spring.NET 1.3.1的程序集Spring.Web.Mvc提供对ASP.NET MVC程序的整合.其中SpringControllerFactory类继承自DefaultController ...
- ASP.NET MVC中ApiController与Controller的区别
本文翻译自:Difference between ApiController and Controller in ASP.NET MVC I've been playing around with A ...
- ASP.NET MVC 3 Framework之旅 第一章
第一章 伟大的思想 ASP.NET MVC是来自于微软的整合了有效性的和整洁的模式-视图-控制器(MVC)架构的一种Web开发框架,它的最新的思想和技术来自于敏捷性开发,是最好的ASP.NET平台.A ...
- Castle Team宣布Castle将与ASP.NET MVC整合
MS宣布推出ASP.NET MVC Framework:http://www.cnblogs.com/Dah/archive/2007/10/08/916958.html 看了看上面的特性,概念几乎是 ...
- ASP.NET MVC和jQuery DataTable整合
本文包含代码示例说明如何jQuery插件开发者可以集成到ASP.NET MVC应用程序. 下载源代码- 87.4 KB Introduction The jQuery DataTables plug- ...
- 7 天玩转 ASP.NET MVC — 第 3 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 我们假定你在开始学习时已经阅读了前两天的学习内容.在第 2 天我们完成了关于显示 Employee ...
- 7 天玩转 ASP.NET MVC — 第 6 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第六天的 MVC 系列学习中.希望你在阅读此篇文章的时候,已经学习了前五天的内容,这也是第 ...
- ASP.NET MVC 整合 Spring.net(1)- Controller进容器
我们都知道Asp.net MVC自有一套执行机制. 通过分析MVC的MvcHandler关键代码 ProcessRequest protected internal virtual v ...
- ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL(转)
http://www.cnblogs.com/John-Connor/archive/2012/05/03/2478821.html 引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC ...
- [转载]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL
引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC的Web程序中的Global文件来简单的重写路由.也介绍了它本身的局限性-依赖于路由信息中的键值对: 如果键值对中没有的值,我们无法将 ...
最新文章
- 计算机视觉工程师一天都大致在做些什么?
- 论文《城市大脑的定义与建设规范探讨》在IEEE(ICBAIE)发表
- 匿名块 块内实体的修改
- Redis学习手册(实例代码)
- oracle如何复制dept,[oracle]表复制的sql语句
- 怎么通过邮箱发超大附件?介绍一种基于云服务的方法
- [RN] React Native 实现图片预览
- android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
- django web 自定义通用权限控制
- iOS开发~UI布局(二)storyboard中autolayout和size class的使用详解
- CSAPP lab3 bufbomb-缓冲区溢出攻击实验(下)bang boom kaboom
- 异常Exception分类
- 【数据结构】线性处理字符串中指定字串的个数问题
- python新手如何编写一个猜数字小游戏
- 未root的情况下获取墨墨背单词的databases文件夹
- 电脑版微信多开显示网络代理服务器,电脑版微信多开办法,超级简单,一看就会...
- 滴滴开源的损失!章文嵩将离职,曾是阿里开源“赶集人”,投身开源 20 年
- 应急响应入侵排查之第三篇常见的 Webshell 在线查杀工具
- JME3 官方教程翻译 - 自定义网格形状
- django考点答案