WebForm与MVC混用

article/2025/9/21 23:12:04

在现有的WebForm项目中加入MVC,可以吗?

西蒙说,可以。

怎么加呢?

我的开发环境是:WIN7 + IIS7.5 + VS2012

一、WebForm项目添加引用:


我都是选了最高的版本。


二、将MVC项目的部分文件拷贝到WEBFORM项目

拷贝controller和views,也许还有content,scripts。Views似乎是必须的,也不能改名字,拷贝到根目录下。Controller应该拷贝到APP_CODE。



三、修改配置文件web.config

 

<compilation debug="true" targetFramework="4.0"><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><pages><namespaces><add namespace="System.Web.Mvc"/><add namespace="System.Web.Mvc.Ajax"/><add namespace="System.Web.Mvc.Html"/><add namespace="System.Web.Routing"/><add namespace="System.Linq"/><add namespace="System.Collections.Generic"/></namespaces></pages>
这里面,有些内容是添加引用后,系统自动写上去的

最重要的,可别忘了这一句:

<modules runAllManagedModulesForAllRequests="true"/>

写在  <system.webServer> 里。没有这一句,将无法使用MVC模式。

四、设置路由

添加global.asax文件,设置路由

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>  
<%@ Import Namespace="System.Web.Mvc" %>  <script runat="server">void Application_Start(object sender, EventArgs e) {// 在应用程序启动时运行的代码//AreaRegistration.RegisterAllAreas();RegisterRoutes(RouteTable.Routes);        }public static void RegisterRoutes(RouteCollection routes){//避免对 Web 资源文件(例如 WebResource.axd 或 ScriptResource.axd)的请求传递给控制器routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");routes.MapRoute(name: "store" // 路由名称, url: "{id}/{controller}/{action}" // 带有参数的 URL。看到没,不一定是{controller}放在前面,顺序可以自己调, defaults: new { controller = @"store", action = @"show", id = UrlParameter.Optional }//默认, constraints: new { id = @"[1-9]\d{3,8}" }//约束);        routes.MapRoute("test2", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值);}    

其中,routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");是照顾现有这些直接访问.aspx的WEBFORM方式。

基本就是这样了。

对于IIS6,可以到微软下载MVC3,MVC4,依次安装好,就可以直接使用了,也没有出现MSDN上说的,要在路由上加上*.MVC的问题。详见拙作:

我的IIS7.5竟然不支持ASP.NET路由

http://blog.csdn.net/leftfist/article/details/9969797






http://chatgpt.dhexx.cn/article/bnDiCm69.shtml

相关文章

ASP.NET WebForm+Vue.js

QQ&#xff1a;285679784 欢迎加入博主CSDN资源QQ群799473954(附加信息&#xff1a;CSDN博客)一起学习 ! 参考原文&#xff1a;https://blog.csdn.net/myppbird/article/details/85598154 Vue.js教程&#xff1a;http://www.runoob.com/vue2/vue-tutorial.html Vue.js Ajax…

解析ASP.NET WebForm和Mvc开发的区别

因为以前主要是做WebFrom开发,对MVC开发并没有太深入的了解。自从来到创新工场的新团队后,用的技术都是自己以前没有接触过的,比如:MVC 和EF还有就是WCF,压力一直很大。在很多问题都是不清楚的情况下,问周围的人,别人也只是给自己讲一个大概。而且前两天因为问了一个比较…

C#-WebForm-WebForm开发基础

1、C/S  客户端应用程序 WinForm  WPF  平级 数据是存放在其他的电脑上或服务器上 需要从服务器上下载相应的数据&#xff0c;在本地电脑上的客户端里进行加工 数据的加工是在用户的电脑上执行的&#xff0c;会对用户的电脑配置有所要求 2、B/S  网页端应用程序 ASP.NE…

ASP.NET--WebForm框架

WebForm框架 WebForm是微软推出的一款为了吸引更多的其他开发者能够快速入门到.NET技术中的一个框架,让开发人员感觉使用.NET技术进行BS开发和使用.NET技术进行CS开发一样简单快速。 微软的想法:以后程序员开发网站项目不需要先学习HTML+CSS就能够直接入门BS,因此将HTML标…

ASP.NET(二)--WebForm框架

WebForm框架 WebForm框架WebForm介绍WebForm窗体框架事件驱动开发简单应用ASP.NET程序开发过程网页生成过程的分析案例 WebForm框架 WebForm是微软推出的一款为了吸引更多的其他开发者能够快速入门到.NET技术中的一个框架&#xff0c;让开发人员感觉使用.NET技术进行BS开发和使…

winform webform 简单高效的UI界面框架

一、winform的界面框架设计&#xff08; james_lx&#xff09; 一直以来&#xff0c;我都在寻找WINFORM程序&#xff0c;简单高效的UI界面框架&#xff0c;终于&#xff0c;我领悟了。在此分享给和我一样使用C#而苦于界面设计的人。我的发现中&#xff0c;并没有加入什么其它的…

WebForm 基础学习

C/S 客户端应用程序&#xff08;Client/Server&#xff09; 客户端——服务器端 两种技术 WinForm WPF -- WPF开发于WinForm之后&#xff0c; --GUI 图形用户界面&#xff08;采用图形方式显示的计…

c#webform制作网页应用的思路login登录

一方面是有实际工作需要&#xff0c;一方面是想学点东西&#xff0c;制作一个webform的信息科工单登记查询网页&#xff0c;虽然目前还是很多bug&#xff0c;虽然代码基本都是复制的&#xff0c;但是慢慢的搭建成型。自己记录下思路&#xff0c;纯小白&#xff0c;可以说基本都…

<form>表单

1.form表单 <form>标签是表单是一个框架&#xff0c;其中主要包含<input>,<textarea>,<select>标签 1.1<input>标签 <input>标签首先是一个单标签 <input>标签的格式是<input type"" value"" name"&…

表单<form>

创建表单 <form> 标签用于创建供用户输入的 HTML 表单。 <form>标签的action属性的值指定了表单提交到服务器的地址。 <form> 元素包含一个或多个如下的表单元素&#xff1a; <input> <textarea> <button> <select> <option&g…

ASP.NET WebForm--简介

文章目录 ASP.NETASP.NET 模型HTTP请求处理过程HttpHandler ASP.NET ASP.NET基于.NET Framework的Web开发平台&#xff0c;不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色&#xff0c;同时也修正了以前的ASP版本的运行错误。 ASP.NET就是属于…

WebForm

什么是ASP.NET ASP.NET指的是动态服务器页面(Active Server Pages),运行在IIS&#xff08;Internet Information Service)上&#xff0c;文件类似于HTML,后缀为.aspx. Classic ASP的局限性&#xff1a; 代码块必须放置在需要进行输出的位置 <html> <body style&qu…

ASP.NET(一)--WebForm简单介绍

WebForm B/S程序 浏览器服务应用程序&#xff0c;直接可以解释为网站类应用程序 静态网页与服务器技术 静态网页 以.html或以.htm为后缀的网页文件只能单纯的显示文本和图像无法和用户进行数据交互&#xff0c;无法根据用户的请求显示不同的网页内容(也就是无法和后台数据库…

关于webform的简单的基础操作 2.学会开发(一)

.net的B/S架构开发主要是MVC和webform的开发&#xff0c;因为WebForm是微软开发的一款产品&#xff0c;它将用户的请求和响应都封装为控件。让开发者认为自己是在操作一个windows界面&#xff08;和winform也是差不多的&#xff09;。极大地提高了开发效率。而MVC是由视图&…

35.Trie树:如何实现搜索引擎的搜索关键词提示功能

文章目录 1. 什么是“Trie树”&#xff1f;2. 如何实现一棵Trie树&#xff1f;3.Trie树真的很耗内存吗&#xff1f;4.Trie树与散列表、红黑树的比较5. 解答开篇 问题&#xff1a;搜索引擎的关键词的联想词是如何实现的&#xff1f; 1. 什么是“Trie树”&#xff1f; Trie树&a…

Trie树详解

什么是Trie树 Trie树又称字典树、单词查找树。是一种能够高效存储和查找字符串集合的数据结构。 可以快速的在集合中查询某个字符串 Trie树的本质就是利用字符串之间的公共前缀&#xff0c;将重复的前缀合并在一起 Trie的存储 Trie的存储形式就是构造成一个树形结构 比如我们以…

java trie_Trie树(字典树)的介绍及Java实现

简介 Trie树&#xff0c;又称为前缀树或字典树&#xff0c;是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串。与二叉查找树不同&#xff0c;键不是直接保存在节点中&#xff0c;而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀&…

Trie前缀树

Trie前缀树 简介 Trie (发音为 "try") 又经常叫前缀树&#xff0c;字典树等等&#xff0c;是一种树数据结构&#xff0c;用于检索字符串数据集中的键。 在计算机科学中&#xff0c;trie是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串…

Trie树

Trie树 文章目录 Trie树Trie树介绍应用场景举例代码实现例题 Trie树介绍 字典树 又称单词查找树&#xff0c;Trie树&#xff0c;是一种树形结构&#xff0c;是一种哈希树的变种。典型应用是用于统计&#xff0c;排序和保存大量的字符串&#xff08;但不仅限于字符串&#xff…

trie 树

一、普通 t r i e \rm trie trie 树 t r i e \rm trie trie 树又称字典树、前缀树&#xff0c;它把很多单词放到一棵树上&#xff0c;使用空间去换时间。 LUOGU2580 于是他错误的点名开始了 Description \text{Description} Description 给定 n n n 个互不相同且只含小写字…