将一个Asp.Net网站改为MVC
背景: 网站已经开发的一部分 主要是Web服务和API 现在要做一些给人看的页面
转载请注明出处 http://www.cnblogs.com/zaiyuzhong/p/add-mvc-in-webapplication.html
演示方便我就新建一个空白的, 建好后结构如下:

添加一个ashx页面, 在浏览器里查看到熟悉的Hello World.
到现在为止的项目结构, 下面开始就是我们要做的

1. 安装MVC:
个人喜欢用控制台安装: TOOLS -> NuGet Package Manager -> Package Manager Console 打开控制台窗口
稍等片刻出现 PM> 输入: install-package microsoft.aspnet.mvc (如果需要特定版本如5.0.0 加上 -version 5.0.0)
最终出现成功的提示(Successfully added 'Microsoft.AspNet.Mvc 5.0.0' to ProjectName.).
当然你也可以右键项目 -> Manage NuGet Package -> 搜索mvc -> Install
安装完成后项目结构:

相关的Microsoft.Web.Infrastructure, System.Mvc, System.Razor是不是都粗线了...
2. 添加Controllers, Views文件夹. 如上图我已经添加好了.
3. 添加控制器, 视图. (略) BTW: 在视图最上加上 @inherits System.Web.Mvc.WebViewPage 否则出现如下错误
The view at '~/Views/default/index.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
如需引用Model则添加@inherits System.Web.Mvc.WebViewPage<Model类>
4. 添加Global.asax 及路由表
跟我一起来 Ctrl Shift A 选择Global Application Class, 不改文件名大家都知道的.
路由表有两种(我已知的)
a. 像Microsoft写好的, Map路由规则: 在 App_Start 文件夹中添加 RouteConfig 类, 实现 void RegisterRoutes(RouteCollection) 方法, //这些类名, 方法名, 写哪应该都是可变的... 不过没测试过, 记得把命名空间中的App_Start删除
在Application_Start中 AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes);
b. 根据特性Map路由: 在Application_Start中 RouteTable.Routes.MapMvcAttributeRoutes(); 在controller上添加[RoutePrefix("XXX")]; 在action上添加[Route("XXX")](可重复添加)
至此, 就可以在浏览器中看到Hello World on MVC了, 又可以在熟悉的MVC中玩耍了
//
将一个Asp.Net网站改为MVC的更多相关文章
- VS 自动创建带增删查改的MVC网站
VS 自动创建带增删查改的MVC网站 MVC.Net教程 废话放在前头,说一下这个文章的缘起某天某妹纸找我,说这个MVC的创建不太会,要记一下controllers.models.还有页面引用的东 ...
- 如何在IIS6,7中部署ASP.NET网站
http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...
- ASP.NET网站单独
解决ASP.NET网站单独发布指定页面问题 目录 前提 开始 aspx.cs文件放到单独的类库项目 一个可选择勾选页面的发布工具:LimusicAddin 前提 Asp.net 发布分为:动态编译和预 ...
- 如何在IIS6,7中部署ASP.NET网站(转载)
查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModu ...
- ASP.NET 网站管理工具
ylbtech-Miscellaneos:ASP.NET 网站管理工具 1. 网站管理工具概述返回顶部 网站管理工具概述 介绍 使用网站管理工具,可以通过一个简单的 Web 界面来查看和管理网站配置. ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- 提高ASP.NET网站性能的方法
http://www.360doc.com/content/14/0705/18/7662927_392224856.shtml Asp.NET有许多秘密,当你了解了这些秘密后,可以使得你的ASP ...
- 在IIS6,7中部署ASP.NET网站[转]
阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 8 ...
- 在IIS6,7中部署ASP.NET网站
查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...
随机推荐
- 【转】PHOTOSHOP常用快捷键大全
PHOTOSHOP常用快捷键大全 一.文件新建 CTRL+N打开 CTRL+O 打开为 ALT+CTRL+O关闭 CTRL+W保存 CTRL+S 另存为 CTRL+SHIFT+S另存为网页格式 CTR ...
- C语言基础(6)-char类型
1. char常量.变量 使用单引号‘’引起来的就是char的常量 ‘a’是一个char类型的常量 “a”是一个字符串类型的常量 1是一个int型的常量 ‘1’是一个char型的常量 char a; ...
- 在 Github 上找「好东西」的方法
使用 Github 的站内搜索,搜索: Awesome + 你的关键字
- [nosql之缓存memcache]安装篇LInux for Windows
首先呢在PHP开发的过程中会用到很多缓存服务,从而提升访问质量或者临时存储一些数据. 优点 结构简单,读取速度快,易于维护.还有一些特性memcache redis mongodb都可以用来做为缓存用 ...
- Backbone源码阅读手记
Backbone.js是前端的MVC框架,它通过提供模型Models.集合Collection.视图Veiew赋予了Web应用程序分层结构.从源码中可以知道,Backbone主要分了以下几个模块: ( ...
- Chrome 用户数据配置文件夹保存路径在哪?(Mac OS X/Windows/Linux)
在重装系统之前都想要对 Chrome 中的数据进行备份,以能够在重装系统后恢复这些数据.但是除了一些玩 Chrome 很长时间的用户,鲜有人知道 Chrome 的用户数据到底保存在什么地方.如果你也有 ...
- Linux服务器,PHP的10大安全配置实践
PHP被广泛用于各种Web开发.而当服务器端脚本配置错误时会出现各种问题.现今,大部分Web服务器是基于Linux环境下运行(比如:Ubuntu,Debian等).本文例举了十大PHP最佳安全实践方式 ...
- ASP.NET Web API学习 (一)
开发环境:win10,使用VS2015社区版和SQLSERVER2012开发 1.打开VS2015应用程序,点击左上角按钮:文件--新建--项目,弹出窗口中选择ASP.NET Web应用程序, 2.点 ...
- BZOJ 3261: 最大异或和
Description 一个序列,支持两个操作. 1.在序列尾加入一个数. 2.询问 [l,r] 中与 x 异或值最大的数. \(n\leqslant 3*10^5\) Sol 可持久化 Trie 树 ...
- BZOJ 4725: [POI2017]Reprezentacje ró?nicowe
Description 一个数列. \(a_1=1,a_2=2\) 当 \(n>2\) 时 \[a_n = \{ \begin {matrix} 2a_{n-1},\text{n is an ...