将一个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 ...
随机推荐
- 制作wordpress留言板
总结步骤如下: 1.找到模板目录中的single.php文件,复制single.php并重命名为guestbook.php 2.在guestbook最顶部添加如下代码(用于模板调用) <?php ...
- [Unity] Shader(着色器)之纹理贴图
在Shader中,我们除了可以设定各种光线处理外,还可以增加纹理贴图. 使用 settexture 命令可以为着色器指定纹理. 示例代码: Shader "Sbin/ff2" { ...
- Python之路【第二十二篇】CMDB项目
浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...
- Unicode文件读取 出现隐藏字符 (大坑)
C#读取文件..分析时发现应该15位的.. str.Lenght 却 16位.. 字符串复制出来一位位的数..就是15位.. 纳闷中突然想起来会不会是隐藏字符.. 输出 str[0].ToBytes( ...
- 大熊君大话NodeJS之------(Url,QueryString,Path)模块
一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析.废话不多说了,请看下面文档: (1),"Url模块&qu ...
- tyvj1114 搭建双塔
描述 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难.为了纪念“9?11”事件,Mr. F决定自己用水晶来搭建一座双塔. Mr. F有 ...
- Linux使用手册-时区和时间设置
1. #vi /etc/sysconfig/clockZONE=”Asia/Shanghai”UTC=false2.#vi /usr/share/zoneinfo/Asia/Shanghai,如果结尾 ...
- Android 全局获取 Context 与使用 Intent 传递对象
=====================全局获取 Context======================== Android 开发中很多地方需要用到 Context,比如弹出 Toast.启动活 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- FileZillaFTP使用教程
FileZillaServer.exe服务启动和关闭程序 FileZilla Server Interface.exe 服务 管理程序 配置ftp服务器的用户名,密码,目录,目录读写权限 启动File ...