背景:   网站已经开发的一部分 主要是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的更多相关文章

  1. VS 自动创建带增删查改的MVC网站

    VS 自动创建带增删查改的MVC网站 MVC.Net教程   废话放在前头,说一下这个文章的缘起某天某妹纸找我,说这个MVC的创建不太会,要记一下controllers.models.还有页面引用的东 ...

  2. 如何在IIS6,7中部署ASP.NET网站

    http://www.cnblogs.com/fish-li/archive/2012/02/26/2368989.html 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 ...

  3. ASP.NET网站单独

    解决ASP.NET网站单独发布指定页面问题 目录 前提 开始 aspx.cs文件放到单独的类库项目 一个可选择勾选页面的发布工具:LimusicAddin 前提 Asp.net 发布分为:动态编译和预 ...

  4. 如何在IIS6,7中部署ASP.NET网站(转载)

    查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModu ...

  5. ASP.NET 网站管理工具

    ylbtech-Miscellaneos:ASP.NET 网站管理工具 1. 网站管理工具概述返回顶部 网站管理工具概述 介绍 使用网站管理工具,可以通过一个简单的 Web 界面来查看和管理网站配置. ...

  6. 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 ...

  7. 提高ASP.NET网站性能的方法

    http://www.360doc.com/content/14/0705/18/7662927_392224856.shtml   Asp.NET有许多秘密,当你了解了这些秘密后,可以使得你的ASP ...

  8. 在IIS6,7中部署ASP.NET网站[转]

    阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 8 ...

  9. 在IIS6,7中部署ASP.NET网站

    查看web.config文件 ASP.NET网站与一般的桌面程序不同,不是拷贝过来就能运行的(数据库连接除外). 要想运行它,通常需要一些配置过程.但是,我们到底需要配置什么呢?答案是:查看web.c ...

随机推荐

  1. pycloudtag 标签云

    原创,转载请标明 QQ:231469242 # -*- coding: utf-8 -*- """Python3.0 Created on Sat Nov 26 08:5 ...

  2. 面试题目——《CC150》Java

    package cc150.java; import java.util.Iterator; public class CircularArray { public static void main( ...

  3. UGUI 学习笔记

    1.UGUI中是没有depth的概念,那要怎么在脚本中动态的改变一个UI元素在hierarchy中的排序位置呢? 放到最上面 Transform.SetAsFirstSibling最下面Transfo ...

  4. Linux进程间通信(七):消息队列 msgget()、msgsend()、msgrcv()、msgctl()

    下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处.有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信 -- 使用命名管道 一.什么是消息队列 消息队列提 ...

  5. phpcms中的RBAC权限系统

    PHPCMS中的RBAC权限系统主要用到了4张数据表:管理员表,角色表,菜单表,菜单权限表.先来看看数据库的数据表结构: admin 管理员表 ID 字段 类型 Null 默认 索引 额外 注释 1 ...

  6. Ubuntu16.04 安装MATALAB R2015b教程

    1.安装 将镜像文件内文件解压出来,添加执行权限,否则执行 ./install指令会出错 chmod -R 777 MATALAB 执行如下指令 ./install 2.填入补丁内的密匙 在Matla ...

  7. linux Mint截图软件 Shutter

    安装shutter: sudo add-apt-repository ppa:shutter/ppa sudo apt-get update sudo apt-get install shutter ...

  8. Ubuntu 16.04 安装 Apache, MySQL, PHP7

    1.安装之前先更新系统 1 sudo apt update 2.安装Apache2 1 sudo apt install apache2 3.安装PHP 1 sudo apt install php ...

  9. MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具

    将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...

  10. java notepad++