将一个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 ...
随机推荐
- 20145212&20145204信息安全系统实验五
一.实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/07_httpd目录,使用 vim编辑器或其他编辑器阅读理解源代码. 2.编译应用程序 运行 make 产生可执行文件 h ...
- [Unity] 在协程中等待指定的毫秒
先写一个静态类: /// <summary> /// 公用基础函数库 /// <remarks>作者: YangYxd</remarks> /// </sum ...
- github上readme.md 格式
参考:https://github.com/guoyunsky/Markdown-Chinese-Demo/edit/master/README.md
- 如何优化用SQL语句INSERT INTO … SELECT插入数据时锁全表的问题
1.binlog format 启用Row Based Replication(行复制)模式: SET GLOBAL binlog_format = 'ROW'; 如果你想永久的启用这个模式,请修改m ...
- js自动闭合html标签,自动补全html标记
假如我有一个DIV,如果没有闭合后面的样式都会乱了,这样的代码可能会影响后面的样式,我希望用js去自动闭合这种没有闭合的标签: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- krpano
调试: krpano的场景下方,有一个Console面板可以用来输出即时日志. 可以使用 showlog(true); 来设置打开此功能,默认是关闭的. 这样就可以把下面三种日志实时显示出来了: tr ...
- golang笔记——string
任何语言中,字符串操作API都是非常重要的,有些还是熟记比较好,当然如果记不住可以去看源码文件,不得不说GO语言源码看起来非常舒服. 可以使用反引号代替双引号,来表示原生的字符串,即不进行转义,尤其适 ...
- codevs2777 栅栏的木料
题目描述 Description 农民John准备建一个栅栏来围住他的牧场.他已经确定了栅栏的形状,但是他在木料方面有些问题.当地的杂货储存商扔给John一些木板,而John必须从这些木板中找出尽可能 ...
- R入门<三>-R语言实战第4章基本数据管理摘要
入门书籍:R语言实战 进度:1-4章 摘要: 1)实用的包 forecast:用于做时间序列预测的,有auto.arima函数 RODBC:可以用来读取excel文件.但据说R对csv格式适应更加良好 ...
- Java牛人
Java领域有很多著名的人物,他们为Java社区编写框架.产品.工具或撰写书籍改变了Java编程的方式.本文是<最受欢迎的8位Java牛人>的2.0版本. PS:排名不分先后.本文的信息整 ...