1.开发环境
操作系统:xp、vista、windows 7、windows 8、windows server 2003|2008|2008R2|2012;
集成开发环境IDE:
- Vsiual Studio 2010,只提供ASP.NET MVC 2,若要使用MVC 3或4,需要安装一个独立的包。最简单的办法是使用微软的Web平台安装程序(Web Platform Installer)。
- VS2012,提供ASP.NET MVC 4。
- VS2013,提供ASP.NET MVC 5。
2.创建ASP.NET MVC默认项目
(1)“文件”->“新建”->“项目”
(2)在“新ASP.NET MVC 4项目”窗口中的“选择模板”列表中选择“Internet应用程序”模板。
(3)启动网站
3.认识默认项目模板
(1)6个预安装项目模板
- 空模板:不包含任何内容,只会创建一个空的ASP.NET MVC项目。
- 基本模板:大部分内容为空,只包含基本的文件夹、CSS以及ASP.NET MVC应用程序的基础结构。如果直接运行通过基本模板创建的应用程序将会出现错误提示消息,因为还没有设置应用程序启动项。基本模板是为具有ASP.NET MVC开发经验的人员设计的,基本模板可以按照他们的想法精确地设置和配置。
- Internet应用程序模板:通过该模板可以快速创建一个基本的ASP.NET MVC应用程序,程序创建之后可以立即运行,并能看到一些页面。Internet应用程序模板分为连个,前一个创建出的项目包含基于Web Forms验证机制(ASP.NET Membership)的账户系统,后一个创建出的项目包含Windows验证机制。
- 移动应用程序模板:该模板会创建一个适用于移动设备的ASP.NET MVC 4项目,并且包含基于Web Forms验证机制(ASP.NET Membership)的账户系统。
- Web API模板:该模板会创建一个ASP.NET Web API项目。
(2)项目结构
- App_Data目录:存放数据库、XML文件,或应用程序所需的其他数据。ASP.NET运行时能理解这种特殊目录,并会阻止用户直接访问其中的文件。只有应用程序才可以读写该目录。
- App_Start目录:保存项目配置相关的类。
- Content目录:包含需要随应用程序一起部署的各种非编码资源。这些资源包括图像和CSS样式表文件等。默认情况下,Content目录含有项目所使用的默认样式表Site.css,以及themes子目录,其中含有jQuery UI所使用的图像和CSS。
- Controllers目录:控制器是用Controllers目录中的类来表示的。默认情况下,该目录含有两个控制器,即HomeController(处理访问主页的请求)和AccountController(处理身份认证)。
- Filters目录:保存动作过滤器相关的类。
- Images目录:保存图像文件。
- Models目录:容纳表示应用程序核心概念的各种类,或者将数据约束成某种格式的类(视图模型View Model)。随着应用程序变大,你可能会决定将这些类移到一个单独的项目之中,但对于小型项目而言,把它们放在Models目录中是一种良好的开端。默认项目包含AccountModel.cs,包含与认证有关的类。
- Scripts目录:Scripts目录是存放由应用程序所使用的各种JavaScript文件的地方。默认项目模板在这个目录中包含了相当多的文件,包括流行的开源jQuery库和用于执行客户端验证的脚本。
- Views目录:含有用于渲染用户界面的模板。其中每一个模板都被表示成一个Razor视图(.cshtml文件),并被放在以负责渲染该视图的控制器为名称的子目录中。
- Global.asax文件:提供全局可用代码,包括应用程序的事件处理程序以及会话事件、方法和静态变量,也被称为应用程序文件。
- Web.config文件:含有网站正确运行所必须的配置细节,包括数据库连接字符串等。
(3)默认项目的控制器、动作、视图
a. 控制器类和动作方法
控制器是一个类,它继承自Controller基类。类中的动作对应URL请求。
这个控制器包含两个动作,Index和About,分别可以通过/Home/Index和/Home/About这样的URL进行访问。
(2) 路由
框架是如何知道将URL映射到一个特定的控制器动作的?答案就在“App_Start/RouteConfig.cs”文件中,该文件定义了将一个URL模式映射到控制器或动作的路由,其实现清单如下所示。
(3) 视图
在Views/Home子目录中,存在名为Index.cshtml、Contact.cshtml、About.cshtml的文件,其中Index.cshtml代码如下。
这个Index视图是C#代码和HTML标记的混合体。文件的顶部包含一个设置页面标题的代码块,然后在<h2/>元素中显示了一条消息。@ViewBag.Message的调用写出了在控制器中对ViewBag的Message属性所设置的内容。
@前缀表示HTML与代码之间的转换。
4.约定优于配置(Convention over Configuration)
它是一种软件设计范例,其主要目的是缩短开发人员在设计架构时用于决策的时间,减少由于软件设计过于富有弹性而导致的软件过于复杂的情况,通过约定让一个团队中的开发人员可以共享同一套设计架构。这样做可以减少思考时间,降低沟通成本,又不失软件的弹性。
(1)开发框架,分割成MVC三个部分;
(2)控制器,必须位于项目的Controllers目录下,以Controller结尾;
(3)视图,必须置于项目的Views目录下,Views目录的第一级目录名称必须与其对应的控制器的名称相同,Views目录的控制器名称目录下的文件名必须与其对应的Action的名称相同。
……
1.2 认识ASP.NET MVC项目结构的更多相关文章
-
ASP.NET MVC项目
ASP.NET MVC项目里创建一个aspx视图 先从控制器里添加视图 视图引擎选"ASPX(C#)",使用布局或模板页不要选. 在Views\EAV目录里,生成的aspx是个单独 ...
-
基于BUI开发Asp.net MVC项目
因工作性质参于并开发过一些Web应用程序,前端项目框架也用了不少,比如MiniUI.ExtJS.以及定制的项目前端框架.无意中看到BUI前端框架,第一眼就被它的优雅布局所吸引.简洁的项目门户Banne ...
-
.NET Core实战项目之CMS 第十三章 开发篇-在MVC项目结构介绍及应用第三方UI
作为后端开发的我来说,前端表示真心玩不转,你如果让我微调一个位置的样式的话还行,但是让我写一个很漂亮的后台的话,真心做不到,所以我一般会选择套用一些开源UI模板来进行系统UI的设计.那如何套用呢?今天 ...
-
AngularJS2 + ASP.NET MVC项目
环境:VS2015, NodeJS:v 6.5, npm: v3.10, AngularJs 2 通过将ASP.NET MVC项目与Angualr 2官网上的quick start整合的过程中遇到些问 ...
-
远程调试 ASP.NET MVC 项目
Visual Studio 支持从一台计算机到另一台设备的远程调试.进行远程调试时,主机可以是任何支持 Visual Studio 的平台.远程设备可以是 x86.x64 或 ARM 平台. 本文将指 ...
-
习题-任务2初始ASP.NET MVC项目开发
一.选择题 1.在ASP.NET MVC项目的RouteConfig.cs文件中,( )方法注册了默认的路由配置. A.RegisterMap B.RegisterRoutes C. ...
-
Asp.net mvc项目架构分享系列之架构概览
Asp.net mvc项目架构分享系列之架构概览 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构 ...
-
2.2 利用项目模板创建ASP.NET MVC项目
1.启动VS2012,点击“文件|新建|项目”. 2.在新建项目的窗口中,选择ASP.NET MVC 4应用程序. 3.在新ASP.NET MVC 4项目窗口中的“选择模板”列表中选择“基本”模板,在 ...
-
在 ASP.NET MVC 项目中使用 WebForm、 HTML
原文地址:http://www.cnblogs.com/snowdream/archive/2009/04/17/winforms-in-mvc.html ASP.NET MVC和WebForm各有各 ...
随机推荐
-
EBS Technology Codelevel Checker (ETCC)
ETCC提供了两个脚本,用来帮助用户检测 E-Business Suite Release 12.2数据库和中间层是否安装了必须的补丁.官方强烈推荐使用. 1.checkDBpatch.sh 这个脚本 ...
-
调试器带参数调试(OD,EDB)
小东西,不要在意这些细节-- OD带参数比较简单: 文件-- 打开 -- 在最下面有一个参数 KALI LINUX下的EDB 命令格式为 edb –run "对应程序路径" ...
-
HDOJ 1418 抱歉(欧拉公式)
Problem Description 非常抱歉,本来兴冲冲地搞一场练习赛,由于我准备不足,出现很多数据的错误,现在这里换一个简单的题目: 前几天在网上查找ACM资料的时候,看到一个中学的奥数题目,就 ...
-
小白的Python之路 day5 hashlib模块
hashlib模块 一.概述 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 二.算法的演 ...
-
error: failed to push some refs to &#39;https://gitee.com/xxx/xxx&#39;
一开始以为是本地版本和线上的差异 果断先直接pull 之后 还是不对,哎 不瞎搞了 搜... 获得消息: git pull --rebase origin master 原来如此:是缺失了文件
-
【HANA系列】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
-
20145227鄢曼君《网络对抗》MSF基础应用
20145227鄢曼君<网络对抗>MSF基础应用 主动攻击:ms08_067漏洞攻击实践 两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版).在VMware中设置 ...
-
Pycharm中安装Pygame并写第一个程序
第一步:打开Pycharm 第二步:点File ->Default Settings->Project Interpreter->点加号 第三步: 搜索Pygame->Inst ...
-
Emgu在引用openCV时提示:无法加载 DLL“opencv_core2410”: 找不到指定的模块。
在引用开源代码openCV时发现了如下问题: 无法加载 DLL“opencv_core2410”: 找不到指定的模块. (异常来自 HRESULT:0x8007007E). 解决方法如下: 将Emgu ...
-
自定义Qt组件-通讯模块(P1)
通讯模块Communicator 通讯模块是整个项目设计中位于最底层的模块,用于处理与串口或网络等设备的通讯,所有设备的通讯通过CommManager类完成,上层软件设计时需要根据comm模块(主要是 ...