本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=91&extra=page%3D1

上一节,我们已经搭建好了ASP.NET MVC3的开发环境。有了开发环境,我们就能够开始写一个Web应用程序了。
1、首先打开VS2010.新建项目,在安装模板中选择Web,在右边选择ASP.NET MVC 3 Web Application。
 
2、输入项目名称、选择解决方案位置和输入解决方案名称,后选择OK,系统叫提示你选择项目模板和视图引擎,如图所示:
 
 
3、我们选择空项目模板(Empty)和Razor视图引擎,点击OK,项目就创建完成。初始化的项目目录如图所示:
 
 
 
4、下面先介绍各个目的主要作用:
 

文件或者文件夹

作用
Content
主要用于存放css、图片、flash、等一些静态资源文件
Controllers
存放控制器的文件夹
Scripts
存放javascript脚本文件的文件夹,微软给我们默认提供JQuery1.5.1的脚本文件
Models
存放Model实体类的文件
Views
存放视图的文件夹
Global.asax
用于编写程序集或者会话级代码的文件
web.config
应用程序的配置文件
当然上述文件夹的作用只是微软给我们提供的一个规范而已,不是强制需要,你也可以按照自己的想法存放文件,只是微软建议你这样做,以方便管理。

 
5、上一小节解释了各个文件夹的作用,显然我们看到了Controller、Models、Views,一般对MVC模式有所了解的人都会明白这个三个文件夹的重要性。显然Controller文件夹存放控制器C的代码,Models存放实体类代码,Views存放视图类代码。下面我们就动手写第一个控制器HomeController。在Controllers文件夹上面点击右键,Add--Controller。然后点击OK,这样就创建了HomeController,在HomeController控制器中,系统默认为我们创建了Index方法,我们需要问Index方法添加视图。操作时在Index方法中点击鼠标右键,选择Add View,所有参数我们默认即可,然后Add就创建了Index的视图。这个视图文件的位置在Views文件夹下面的Home文件夹下,文件名为Index.cshtml。cshtml为后缀的文件表示以Razor视图文件编写的视图文件。我们修改Index.cshtml中的代码
@{
ViewBag.Title ="Index";
}
<h2>这是我的第一个文件</h2>
然后运行该项目(F5)。效果如下:
观察浏览器的地址http://localhost:6187/,这显然和我们的Home控制器和Index方法没有任何联系,那么系统为什么给我们显示的是Home控制器下面的Index视图呢?这就需要从ASP.NET MVC3的路由说起,以后有相关的章节专门讲解,这里仅仅点到为止。在Global.asax文件中有一个RegisterRoutes方法,一看名字就明白这是一个注册路由的方法。默认的路由设置就在这个方法中,里面的代码下
public static void RegisterRoutes(RouteCollectionroutes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",// Route name
"{controller}/{action}/{id}",// URL with parameters
new{ controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
}
这段代码的意思是说URL的默认映射规则为{controller}/{action}/{id}",即:URL的组成为:Host:端口号/控制器/方法名称/id参数。并且默认的控制器名称为Home,默认的action名称为Index。也就是说http://localhost:6187/这个URL应该和http://localhost:6187/Home/Index等同,我们先试试。
果然返回的页面是一样。同理,如果我们要访问控制器中的其他方法,就只需要把Index替换了即可。现在我们写一个我们自己的方法叫FirstMethod。代码如下
public class HomeController : Controller
{
//
// GET:/Home/
public ActionResult Index()
{
returnView();
}
public ActionResult FirstMethod()
{
returnView();
}
}

我们添加FirstMethod的对应视图,并写入我们的代码,代码如下

@{
ViewBag.Title = "FirstMethod";
}
<h2>这是我的第一个ASP.NETMVC方法,FirstMethod</h2>
然后运行项目,输入URL为http://localhost:6187/Home/FirstMethod,如图,这就成功了。
如何你想让系统默认就房屋FirstMethod方法,只需要把Global.asax文件中有一个RegisterRoutes方法的action=”Index”修改为action=”FirstMethod”即可。
这样第一个web app就完成了。下一节讲解参数传递。

ASP.NET MVC3入门教程之第一个WEB应用程序的更多相关文章

  1. ASP.NET MVC3入门教程之环境搭建

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=90&extra=page%3D1 什么是ASP.NET MVC ...

  2. ASP.NET MVC3入门教程之参数(数据)传递

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=98&extra=page%3D1 MVC模式的参数(数据)传递 ...

  3. ASP.NET MVC3 系列教程 - 部署你的WEB应用到IIS 6.0

    I:ASP.NET MVC3 部署的前期工作 1.确认部署的服务器操作系统环境 首先我们确认服务器的操作系统版本 可以从系统命令行工具里输入: systeminfo 获取相关操作系统信息例如 然后再确 ...

  4. ASP.NET MVC3 系列教程 - 目录

    ASP.NET MVC3 系列教程 - 目录   I:ASP.NET MVC3 新增的功能 ASP.NET MVC3 系列教程 - Razor视图引擎基础语法ASP.NET MVC3 系列教程 - V ...

  5. CentOS开发ASP.NET Core入门教程

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9891346.html 因为之前一直没怎么玩过CentOS,大多数时间都是使用Win10进行开发,然后程序 ...

  6. ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门

    一.前言 1.本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义 ...

  7. ASP.NET CORE 入门教程(附源码)

    ASP.NET CORE 入门教程 第一课 基本概念 基本概念 Asp.Net Core Mvc是.NET Core平台下的一种Web应用开发框架 符合Web应用特点 .NET Core跨平台解决方案 ...

  8. 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】

    Create a web API with ASP.NET Core MVC and Visual Studio for Windows 在windows上用vs与asp.net core mvc 创 ...

  9. 【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序

    1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...

随机推荐

  1. Linux和开源已经在2013年开始悄悄主宰世界?

    提到Linux,很多人觉得它依旧不温不火,实际上在这个即将过去的一年,Linux和开源软件已经悄悄主宰了计算领域的各方面,这具体表现在开源项目遍地、Chromebook崛起、SteamOS备受瞩目、A ...

  2. C语言出错问题汇总【需要更新】

      'getch' : undeclared identifier解决方案 在VC++6.0中编译程序 #include<stdio.h> void main() { printf(&qu ...

  3. android apk 防止反编译技术第四篇-对抗JD-GUI

    又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊.好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法.前三篇我们讲了加壳技术(http://my.oschina.net ...

  4. (五)适配器模式-C++实现

    将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 该模式中有三种角色: 1.目标:是一个抽象类,它是客户想使用的接口 2.被适配 ...

  5. NOIP2003pj数字游戏[环形DP]

    题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...

  6. Vijos1680距离/openjudge2988计算字符串的距离[DP]

    描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb_c_”,“_a_bcbcd_”和“abcb_c_”都是X的扩展 ...

  7. 使用 Flash Builder 的 Apple iOS 开发过程

    使用 Flash Builder 的 Apple iOS 开发过程   iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将 ...

  8. hibernate save,update,saveorupdate方法有什么区别

    save肯定是添加的时候用,update修改时候用,saveorupdate是添加或修改,如果真是这样save和update的存在就没意义了,我们直接saveorupdate就行了. save在添加用 ...

  9. SQL Server日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.下面主要就介绍一下SQL Serv ...

  10. ES5特性Object.seal

    一个对象在默认状态下: 1,extensible:可扩展(可以添加新的属性) 2,configurable:可配置(可以改变原有属性的特性,比如修改属性的enumerable) Object.seal ...