一、创建MVC项目

打开VS202,点击:文件—>新建—>项目—>Web—>Asp.Net MVC 4 Web应用程序

填好项目名称、解决方案名称和文件存放位置,然后点击确定,则会出现下面对话框:

在模板选择中,微软为我们提供了8中模板,其含义如下:

  • 空:就是一个空项目,基本的组件和目录结构还是有的。
  • 基本:一个最低限度的模板,有基本的文件夹,css,MVC应用程序的基本结构。
  • Internet应用程序:一个常用足够丰富的模板,包含可账管理功能(依赖ASP.NET Membership),创建后就可直接运行。
  • Internet应用程序:与Internet应用程序一样只是使用的Windows账户。
  • 移动应用程序:专门针对移动设备的模版,包含移动视觉效果,触摸控件,支持Ajax导航。
  • WEB API:专门针对HTTP services的模板。

在视图引擎中,有两种选择:

其中ASPX是与WebForm相同的CodeBehind方式,Razor是专门为MVC提供的一种引擎,其具体语法,参见上一篇Razor标记语言介绍

单元测试默认只支持Visual Studio Unit Test 一种,且只在VS2012 Professional以上的版本才有,如果是2010,则需要自己下载安装NUnit等拓展

选择好上面那些之后,点击确定,则会创建一个MVC应用程序

二、MVC项目结构

选择Internet应用程序之后,会出现下面的项目结构:

Controllers:放置控制器类,MVC 要求所有控制器的名称必须以 "Controller" 结尾。

Models:放置数据描述、操纵类和业务对象类

Views:放置视图,Views下的文件夹的名称必须和对应的控制器名称一样,如如:Views/Account文件夹中包含AccountController类使用的所有视图

Scripts:放置JavaScript脚本

Images:放置图像

Content:放置css和除了JavaScript脚本,图像以外的东西

Filters:放置过滤器代码

App_Data:放置数据存数文件

App_Start:放置配置文件代码,程序的路由规则和过滤规则都在该文件夹下配置

三、注意点

1、向Action传递参数时,实参的名字必须和Action方法的形参名字一样(大小写可忽略),这样才能获取到参数的值。

2、每一个控制器(Controller),在Views目录下都具有一个以自己名字(去掉Controller后缀)命名的文件夹,该文件夹下的每一个视图对应控制器(Controller)中的一个方法(Action),视图名称与方法名称一致

3、MVC程序默认启动页面是在:App_Star文件夹下的RouteConfig.cs文件中进行设置的。
   RouteConfig.cs文件中定义了路由的匹配规则
      routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Demo", action = "RazorTest", id = UrlParameter.Optional }
            );
     url: "{controller}/{action}/{id}"定义了路由规则。
     defaults则定义了启动页面为:DemoController下的RazorTest方法对应的页面(View)

4、每一个Action方法都会通过调用View()方法返回一个ActionResult结构,View()方法若不指定视图名称,则会返回本控制器下该Action方法对应的视图,也可以为View()指定视图名称或视图路径,以返回特定的视图。

MVC项目创建与项目结构介绍的更多相关文章

  1. Eclipse apk项目创建和项目构架

    一.创建项目工程 设定名字 设定包名(每一台机器只有唯一的包名)下一步 根据设置进行选择 创建空项目 Finish即可创建 调节项目的字体 二.Eclipse 项目构架 Src 2. Gen R.ja ...

  2. 用Eclipse+ADT创建可运行项目,创建lib项目,引用一个lib项目

    Managing Projects from Eclipse with ADT In this document Creating an Android Project  创建可运行项目 Settin ...

  3. Angular—入门环境,项目创建,导入项目

    1.安装 nodejs,npm nodejs 下载地址: https://nodejs.org/en/download/

  4. 四、IntelliJ IDEA 之 HelloWorld 项目创建及相关配置文件介绍

    咱们通过创建一个 Static Web 项目大致了解了 IntelliJ IDEA 的使用界面,接下来,趁着这个热乎劲,咱们来创建第一个 Java 项目“HelloWorld”,进入如下界面: 如上图 ...

  5. 从“空项目”创建MFC项目遇到的问题error C1189,error MSB8031

    在VS2013中创建了一个空项目,创建了MyApp.h, MyApp.cpp(MyApp.h使用了<afxwin.h>) build的时候报错: fatal error C1189: #e ...

  6. mobx项目创建 + mobx项目流程代码

    一. 安装mobx 1. react 安装并 reject抽离配置 1. 全局安装 create-react-app 这个脚手架 npm/cnpm i create-react-app -g yarn ...

  7. IDEA-servlet项目创建web项目

    准备:1. 安装jdk1.82. 安装tomcat9.0(idea只支持4.0  9.0的服务器) 一.创建并设置javaweb工程 1.创建javaweb工程File --> New --&g ...

  8. 关于eclipse项目创建maven项目目录不正常的解决方案

    最近学习ssh和maven,遇到了很多问题····首先一个很基础的问题就是我搭建的maven项目目录和教程上的不一样.我的目录之前是这样的: 而教程里的是这样的========> 因为是跟着视频 ...

  9. IDEA下创建Maven项目,并整合使用Spring、Spring MVC、Mybatis框架

    项目创建 本项目使用的是IDEA 2016创建. 首先电脑安装Maven,接着打开IDEA新建一个project,选择Maven,选择图中所选项,下一步. 填写好GroupId和ArtifactId, ...

随机推荐

  1. 【转】用C#调用Windows API向指定窗口发送

    一.调用Windows API. C#下调用Windows API方法如下: 1.引入命名空间:using System.Runtime.InteropServices; 2.引用需要使用的方法,格式 ...

  2. Android IOS WebRTC 音视频开发总结(六七)-- 在线教育虽火要做好其实不容易

    本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 最近很多朋友在咨询在线教育的事(其实之 ...

  3. 在配置dubbo框架的时候出现dubbo:application标签无法识别问题。

    这原因是因为目前 http://code.alibabatech.com/schema/dubbo/dubbo.xsd标签库打不开.所以我们需要在dubbo的jar包里面引入一个dubbo.xsd 解 ...

  4. 关于Function.prototype.bind

    bind()方法会创建一个新函数,称为绑定函数.当调用这个绑定函数时,绑定函数会以创建它时传入bind()方法的第一个参数作为 this,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行 ...

  5. php json_encode中文unicode问题

    php调用json_encode将中文字符串存入mysql后读取出来有问题,发现存进去的时候把'\'给去掉了.解决方法是调用json_encode时候后面加JSON_UNESCAPED_UNICODE ...

  6. Unity IoC Container创建对象过程

    Unity是微软P&P推出的一个开源的IoC框架,最新的官方版本是2.0.Unity之前的版本建立在一个称为ObjectBuild的组件上,熟悉EnterLib的读者,相信对ObjectBui ...

  7. [纯小白学习OpenCV系列]官方例程01:Load and Display an Image

    Version: OpenCV 2.4.9 IDE    : VS2010 OS     : Windows --------------------------------------------- ...

  8. linux 驱动学习笔记01--Linux 内核的编译

    由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...

  9. c 数据拼接

    char buf1[] = {0x31,0x32,0x33,0x00,0x51,0x52,0x53,0xaa,0xbb,0xcc,0x00}; int a=0xabcd6799; int b=0x88 ...

  10. java基础八 [序列化和文件的输入/输出](阅读Head First Java记录)

    对象具有状态和行为两种属性.行为存在类中的方法中,想要保存状态有多种方法,这里介绍两种: 一是保存整个当前对象本身(通过序列化):一是将对象中各个状态值保存到文件中(这种方式可以给其他非JAVA程序用 ...