ASP.MVC3.0中文入门级教程
- 格式:doc
- 大小:2.78 MB
- 文档页数:79
⼀步⼀步使⽤ExtJSMVC与MVC3开发简单的CMS后台管理系统之登录窗⼝完成配置后,要做的是完成登录页⾯。
因为要实现登录之后写⼊认证信息到Cookie,因⽽必须做⼀次跳转。
当然,不做跳转,或不写⼊认证信息也⾏,但问题⽐较复杂,在这⾥还是做简单处理⽐较合适。
还有就是写⼊认证信息的⽬的是为了在控制器通过特性控制⽅法的权限。
既然要跳转⼀次,就有两种思路了,⼀种是为了快速显⽰登录页,可不加载Ext JS,⽽是使⽤传统的页⾯,显⽰⼀个登录页,这样页⾯加载快,⽤户感受也好很多。
第⼆种⽅式就是⽤Ext JS窗⼝做⼀个登录窗⼝,不过要加载Ext JS库,显⽰时间会久点,体验不是太好。
不过加载过Ext JS,后⾯显⽰主框架页的时候就可以利⽤缓存数据。
采⽤那种⽅式,根据⾃⼰喜好或项⽬要求定吧。
本⽂是演⽰Ext JS的,因⽽会采⽤第⼆种⽅式,写⼀个登录窗⼝。
登录窗⼝作为常⽤组件,在其它项⽬也会⽤到,因⽽很适合写成⼀个扩展。
这⾥还要考虑⼀个问题,是写成单例模式的扩展,还是单纯是扩展?单例模式的好处是在页⾯中直接⽤show⽅法显⽰就⾏了,⽽纯扩展的好处的是可以通过配置项⾃定义标题、图标这类的东西。
笔者更喜欢单例模式,原因是直接在扩展中修改标题之类的这些东西,⽐使⽤配置项来定义来得⽅便,毕竟是Javascript写的扩展,修改起来⽐使⽤C#这些语⾔的扩展容易得多了。
⽬标明确后,就可以动⼿了,在解决⽅案资源管理器中选择Scripts\ExtJS\ux⽬录,单击右键选择添加,新建项,在弹出窗⼝中如图6那样选择Jscript⽂件,并将名称修改为login.js(以后的项⽬的可直接将该⽂件复制到该⽬录),单击添加按钮创建⽂件。
这⾥要注意,⽂件名不能⽤类的全名做⽂件名,因为动态加载会根据类名⾃动找到⽬录并加载⽂件,类名中最后⼀个⼩数点后的名称就是⽂件名,例如,登录窗⼝的类全称为Ext.ux.Login,⽽login就是⽂件名。
如果想要在脚本中使⽤ExtJS的提⽰信息,可将书附带的资源包中的Ext.js⽂件复制到ExtJS⽬录中,复制后,在解决⽅案资源管理器将Ext.js拖到到login.js⽂件中,就会⽣成以下代码:/// <reference path="../Ext.js" />这样,就可以在脚本中使⽤Ext JS的提⽰信息,在⽂件中输⼊“Ext.cr”,将看到如图7所⽰的效果。
245 接下来,我们就可以分别实现这些功能了。
8.2.4 预处理采用Code First 模式时,由于创建数据库和删除库中已经存在的数据并重新创建数据库都是由框架自动执行的,因此,如果希望数据库创建后能自动包含测试用的初始数据,只需要编写一个继承自DropCreateDatabaseIfModelChanges<TContext>的类,并在继承的类中重写基类的Seed 方法(即设置数据库种子),然后再通过配置文件或者Global.asax 文件让EF 能自动执行这个方法,这种方式和采用Database First 模式时手工添加初始化数据的功能相同,前面我们学习的默认数据库初始化策略(MyDb2Init.cs )采用的就是这种办法。
但是,当我们测试程序功能时,如删除数据等,在没有改变模型的情况下,我们仍希望能随时初始化测试数据,而不是仅在修改模型后首次访问数据库时才执行初始化,在这种情况下,就可以采用本节介绍的办法来实现。
1.设计思路在Code First 模式中,除了EF 默认实现的执行策略外, MVC 还为项目开发人员提供了一个DropCreateDatabaseAlways<TContext>类,如果编写一个从该类继承的类,并在继承的类中重写该类的Seed 方法,那么,不论数据库是否已经存在,也不论是否是首次访问数据库,只要调用该类的公开的InitializeDatabase 方法,都会创建新的数据库(如果存在就先删除再创建)并自动执行继承自该类的Seed 方法。
利用这个特点,我们就可以用独立的模块实现初始化测试数据的功能。
在实际项目中,该功能是指在正式使用数据库之前需要执行的初始化工作。
2.代码实现下面通过具体步骤说明初始化数据的实现办法。
当然,这里所说的初始化仅仅是为了实现初始化表8-1~表8-3中列出的测试数据,与实际项目中所说的正式使用数据库之前的“初始化”并不是一回事,但两者的基本实现思路完全相同。
MVC快速⼊门(⼀)MVC是当前⽐较流⾏的WEB程序开发模式之⼀, MVC是.Net对MVC的⼀种实现。
本⽂主要以⼀些简单的⼩例⼦,简述 MVC的简单应⽤,仅供学习分享使⽤,如有不⾜之处,还请指正。
MVC概述MVC是当前⽐较流⾏的WEB程序开发模式之⼀, MVC是.Net对MVC的⼀种实现。
MVC(Model View Controller 模型-视图-控制器)具体如下所⽰:Model(模型)表⽰应⽤程序核⼼(⽐如数据库记录列表)。
View(视图)显⽰数据(数据库记录)。
Controller(控制器)处理输⼊(写⼊数据库记录)。
MVC 分层有助于管理复杂的应⽤程序,因为您可以在⼀个时间内专门关注⼀个⽅⾯。
例如,您可以在不依赖业务逻辑的情况下专注于视图设计。
同时也让应⽤程序的测试更加容易。
MVC 分层同时也简化了分组开发。
不同的开发⼈员可同时开发视图、控制器逻辑和业务逻辑。
什么是 MVC? MVC是.Net对MVC三层架构的⼀种实现⽅式,在.Net体系中,地位如下: MVC项⽬创建⽂件-->新建-->项⽬,打开项⽬创建对话框,然后选择 Web应⽤程序(.NET Framework),点击【下⼀步】。
如下所⽰:点击【下⼀步】打开项⽬配置窗⼝,输⼊项⽬名称,和保存位置,然后点击【创建】,如下所⽰:点击【创建】后,打开【创建新的Web应⽤程序窗⼝】,选择MVC模板,然后点击【创建】,如下所⽰:稍等⽚刻,即可创建成功。
通过模板创建的MVC程序,会⾃动创建对应的⽂件夹和默认⽰例⽂件,如下所⽰:通过点击⼯具栏的【运⾏】按钮或快捷键【F5】即可启动Visual Studio⾃带的IIS Express运⾏项⽬,如下所⽰,然后在浏览器中打开,输⼊⽹址 https:localhost:44310,默认框架模板创建的程序如下所⽰: MVC默认路由配置 MVC的路由配置在RouteConfig.cs中,默认访问url为{controller}/{action}/{id}的⽅式,如果为空默认controller为Home,默认action为Index,id为可选项。
asp入门教程ASP(Active Server Pages)是一种用于创建动态网站的服务器端脚本语言。
它可以与HTML、CSS和JavaScript等前端技术结合使用,实现用户界面、数据交互和业务逻辑的开发。
本文将为读者介绍ASP的入门知识,帮助他们快速上手ASP编程。
首先,ASP是由微软公司开发的,目前最新的版本是。
是一种强大而灵活的网页开发技术,它提供了许多内置的功能和工具,方便开发人员创建高性能的动态网站。
要开始学习ASP,首先需要了解ASP的基本概念和工作原理。
ASP使用一种被称为"服务器端脚本"的编程模型,这意味着ASP代码是在服务器上执行的,而不是在客户端浏览器中执行。
这就使得ASP能够与数据库、文件系统和其他服务器资源进行交互。
ASP的核心语言是VBScript(Visual Basic Scripting Edition)和JScript(JavaScript的微软版本)。
开发人员可以根据自己的偏好选择其中一种或两种语言进行编程。
VBScript是一种基于VB(Visual Basic)的脚本语言,语法简单易懂,适合初学者。
JScript则更接近JavaScript,语法更加灵活,适合有JavaScript编程经验的开发人员。
在ASP中,可以使用标签<% %>将代码插入到HTML页面中。
例如,以下代码会将当前日期和时间显示在网页上:```asp<%Dim nowDatenowDate = Now()Response.Write "当前日期和时间为:" & nowDate%>```这段代码首先使用VBScript创建一个变量`nowDate`,并将当前日期和时间赋值给它。
然后使用`Response.Write`方法将文本和变量的内容输出到浏览器。
在浏览器中访问包含这段代码的网页时,会显示当前日期和时间。
除了输出内容,ASP还能够接收和处理用户的输入。
•MVC3•快速入门-第一节•概述•(2011-02-23 20:57:18)转载标签:web 应用程序分类:MVC31.1 本教程的学习内容在本教程中,你将学会如下内容:如何创建一个 MVC 的工程。
如何创建 MVC 的控制器(controller)与视图(view)。
如何使用Entity Framework code-first 范例来创建一个新的数据库。
如何获取和显示数据。
如何编辑数据并且进行数据的有效性验证。
1.2 创建工程如果要创建一个 MVC3 的工程时,首先运行Visual Web Developer 2010 Express(本教程中简称“Visual Web Developer”),并且在起始页(start page)中选择“新建项目”。
Visual Web Developer 是一个集成开发环境,你可以使用它来进行各种应用程序的开发。
在Visual Web Developer 的菜单的下面有一个工具条,可以直接点击工具条中的各个工具按钮来进行各种操作,也可以直接点击菜单中的各个菜单项来进行各种操作,此处我们点击“文件”菜单中的“新建项目”菜单项。
图1-1 Visual Web Developer 2010 Express 中的起始页1.3 创建你的第一个应用程序你可以使用Visual Basic 或Visual C#作为开发语言来创建应用程序。
在本教程中,选择C#来作为开发语言。
点击“新建项目”菜单项后,在打开的“新建项目”对话框中,双击左边的“Visual C#”使其成为展开状态,然后点击“Web”,点击右边的“ MVC 3 Web 应用程序”,然后在下方的名称文本框中填入应用程序的名称,在本教程中命名为“MvcMovie”, 然后点击确定按钮。
图1-2 在新建项目对话框中选择 MVC3 应用程序并为应用程序命名在接下来打开的“新 MVC 3 项目”对话框中,点击选中“Internet 应用程序”,在“视图引擎”下拉框中保持默认的“Razor”选项不作修改(Razor 视图是 MVC3 种新增的一种十分重要的视图类型,使用它可以使得Web 应用程序的开发变得更加方便快捷,在后文中将对此进行详细介绍)。
MVC教程目录1 使用 MVC 创建一个任务列表应用程序 (1)1.1 任务列表应用程序 (1)1.2 入门 (1)1.3 创建 MVC Web Application 项目 (2)1.4 创建控制器 (3)1.5 创建视图 (5)1.6 创建数据库 (8)1.7 创建模型 (9)1.8 将数据库逻辑添加到控制器方法 (10)1.9 修改Index 视图 (12)1.10 总结 (14)2 了解模型、视图和控制器 (14)2.1 示例 MVC 应用程序 (14)2.2 URL 和页面并不是对等的 (18)2.3 了解URL 路由 (19)2.4 了解控制器 (20)2.5 了解视图 (21)2.6 了解模型 (22)2.7 总结 (22)3 了解控制器、控制器操作和操作结果 (23)3.1 了解控制器 (23)3.2 了解控制器操作 (24)3.3 了解操作结果 (24)3.4 总结 (27)4 了解视图、视图数据和HTML Helper (27)4.1 了解视图 (27)4.2 创建视图 (29)4.3 向视图添加内容 (29)4.4 使用HTML Helper 生成视图内容 (31)4.5 使用视图数据将数据传递给视图 (33)4.6 总结 (34)5 URL 路由简介 (35)5.1 使用默认路由表 (35)5.2 创建自定义路由 (39)5.3 总结 (41)6 阻止JavaScript 注入攻击 (42)6.1 什么是JavaScript 注入攻击? (42)6.2 方法1:视图中的HTML 编码 (46)6.3 方法2:控制器中的HTML 编码 (48)6.4 总结 (49)7 为 MVC 应用程序创建单元测试 (49)7.1 创建测试控制器 (50)7.2 测试控制器返回的视图 (50)7.3 测试控制器返回的视图数据 (52)7.4 测试控制器返回的操作结果 (53)7.5 总结 (55)8 在不同版本的IIS 上使用 MVC (55)8.1 集成模式和经典模式 (56)8.2 将扩展名添加到路由表 (58)8.3 创建通配符脚本映射 (60)8.4 总结 (62)9 了解HTML Helper (63)9.1 使用静态方法创建HTML Helper (66)9.2 使用扩展方法创建HTML Helper (67)9.3 总结 (69)10 使用LINQ to SQL 创建模型类 (70)10.1 什么是Model 类? (70)10.2 创建Movie 数据库 (70)10.3 创建LINQ to SQL 类 (72)10.4 在控制器操作中使用LINQ to SQL (74)10.5 使用Repository 模式 (77)10.6 总结 (80)11 显示数据库表中的数据 (80)11.1 在控制器操作中使用LINQ to SQL (82)11.2 在视图中格式化 (83)11.3 在Partial 中格式化 (86)11.4 总结 (88)1使用 MVC 创建一个任务列表应用程序本教程旨在让您了解构建 MVC 应用程序的过程。
【基础--MVC】MVC视图基础语法学习初步接触.net MVC的视图语法,很多东西都不太熟悉,感觉跟之前的aspx以及html都有⼀些区别,最近看别⼈的代码,⼀边看⼀边研究,现把学到的东西在这⾥记录⼀下,以便⽇后翻阅。
第⼀部分:基础知识1.视图,英⽂叫做razor,在.net MVC项⽬中,它是以.cshtml后缀名来结束的。
2.⼀个很直观的发现,就是这种⽂件⾥⾯有很多⽤@开头或者以@{代码体},这种形式的代码是razor特有的⼀种策略,所有这类代码都会被asp引擎进⾏处理。
3.在@{代码体}这种形式中的{}⾥⾯的各条语句之间需要⽤;进⾏分隔,⽽如果只是单单的⼀个@后接代码,则不需要⽤;分割。
如[html]01. <span style="font-size:14px;">@{02. ViewBag.Title = "⽤户注册";03. Layout = "~/Views/Shared/_Layout.cshtml";04. }</span>和[html]01. <span style="font-size:14px;"> @Html.EditorFor(model => erName)02. @Html.ValidationMessageFor(model => erName)03. @Html.DisplayDescriptionFor(model => erName)</span>4.定义变量,可采⽤如下的⽅法定义变量。
[html]01. <span style="font-size:14px;">@{02. var greeting = "Welcome to our site!"; </span>[html]01. <span style="font-size:14px;"> var weekDay = DateTime.Now.DayOfWeek;02. var greetingMessage = greeting + " Today is: " + weekDay; }</span>有点类似于javascript,当然也可以在页⾯中使⽤这个变量,但是必须要有@这个符号。
Spring3 MVC - 3到Spring MVC框架简介Spring3 MVC框架简介Spring MVC是Spring的框架的Web组件。
它提供了丰富的功能,为建设强大的Web应用程序。
Spring MVC框架的架构,并在这样的高度可配置的方式,每一块的逻辑和功能设计。
此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。
这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。
比Spring更不紧耦合的servlet或JSP 向客户端呈现视图。
喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。
Spring3.0 MVC系列∙第1部分:到Spring 3.0 MVC框架简介∙第2部分:在Spring 3.0 MVC创建Hello World应用程序∙第3部分:在Spring 3.0 MVC的形式处理∙第4部分:Spring3 MVC的Tiles Support与Eclipse中的例子插件教程∙第5部分:Spring3 MVC的国际化及本地化教程与范例在Eclipse∙第6部分:Spring3 MVC示例教程Spring主题∙第7部分:创建Spring3 MVC Hibernate 3的示例在Eclipse中使用Maven的在Spring Web MVC,你可以使用任何对象作为命令或表单支持对象,你不需要实现框架特定的接口或基类。
Spring的数据绑定是高度灵活的:例如,将验证错误类型不作为应用系统错误,可以通过评估的不匹配。
因此,你不必重复你的业务对象的属性,简单的无类型的字符串,在表单对象仅仅是为了处理无效的意见,或正确转换的字符串。
相反,它往往是最好直接绑定到业务对象。
请求处理生命周期Spring的Web MVC框架是,像许多其他Web MVC框架,要求为导向,围绕一个中心的servlet,它把请求分派给控制器,提供其他功能,有利于开发Web应用而设计的。
MVC 入门--1、简介什么是MVC模式MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。
它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。
那么MVC模式和我们熟悉的WebForm模式有什么不同呢?他的各个部分又是怎样分工的呢?我们先来看一下普通的WebForm模式下,我们请求一个例如http://www.51mvc.co m/blog/index.aspx的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index. aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据(其中的经过怎样的BLL到DAL这里就不谈了),然后再由index.aspx页面来呈现给用户。
简单的示意图如下所示:也就是一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。
但是,对于MVC模式,这是怎样的一个过程呢?我们先来建一个ASP. NET MVC的项目吧。
VS2008默认是没有 MVC的项目模板的,首先我们需要到http://www.mi /downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&displa ylang=en去下载最新的 MVC的安装程序,目前最新版本的Microsoft MVC Beta(1 0/15/2008)。
下载安装完后,我们可以在新建项目那里找到 MVC的项目:注:如果你的是中文版的VS,安装完后可能会出现找不到这个模板的现象,你可以参考在中文版VS 08中安装MVC这篇文章设置一下。
建立一个 MVC项目后,默认的项目大概如下图:我们可以看到项目中有几个文件夹的命名和MVC(Model-View-Controller,模型—视图—控制器模式)是对应的。
我要学 MVC 3.0(十七):MVC 3.0 实例之表格中数据的筛选概述通过上节的学习,我们知道如何在MVC 3.0应用程序中给简单表格加入排序和分页功能,但是作为开发人员,这些还是不能完美的展现我们的表格的优越性。
有时候我们还需要对数据进行筛选处理,然后使用表格进行显示。
那么在MVC 3.0中做一个筛选功能又怎么做呢?这节我们就使用MVC 3.0来筛选数据然后使用表格显示筛选结果。
问题分析对于我们的数据集来说,我们要求可以通过输入程序编号、选择成员家族(狼和羊)或者通过其他一些标识型字段来如:婚姻状态等方式来筛选数据。
这样一来使用的参数就显而易见了:①Em ployeeNO查询编号:可以通过输入编号来筛选数据。
②Departm entID家族编号:可以通过选择家族的列表来筛选数据。
③IsMarital婚姻状态:可以通过选择是否结婚来筛选数据。
修改辅助类修改Em ployeeGridModel辅助类加入一下代码.....................................///<summary>///查询条件:查询编号///</summary>public string EmployeeNO { get; set; }///<summary>///查询条件:是否婚配///</summary>public bool IsMarital { get; set; }///<summary>///查询条件:种族编号///用于绑定DepartmentList///</summary>public int?DepartmentID { get; set; }///<summary>///绑定数据库中的种族集合///</summary>public IEnumerable<SelectListItem>DepartmentList { get; set; }这些属性值,只是作为页面传递和绑定使用的。
MVC3 快速入门-第一节概述(2011-02-23 20:57:18)转载标签:分类:MVC3web应用程序1.1本教程的学习内容在本教程中,你将学会如下内容:∙如何创建一个 MVC的工程。
∙如何创建 MVC的控制器(controller)与视图(view)。
∙如何使用Entity Framework code-first 范例来创建一个新的数据库。
∙如何获取和显示数据。
∙如何编辑数据并且进行数据的有效性验证。
1.2创建工程如果要创建一个 MVC3的工程时,首先运行Visual Web Developer 2010 Express(本教程中简称“Visual Web Developer”),并且在起始页(start page)中选择“新建项目”。
Visual Web Developer是一个集成开发环境,你可以使用它来进行各种应用程序的开发。
在Visual Web Developer的菜单的下面有一个工具条,可以直接点击工具条中的各个工具按钮来进行各种操作,也可以直接点击菜单中的各个菜单项来进行各种操作,此处我们点击“文件”菜单中的“新建项目”菜单项。
图1-1 Visual Web Developer 2010 Express中的起始页1.3创建你的第一个应用程序你可以使用Visual Basic 或Visual C#作为开发语言来创建应用程序。
在本教程中,选择C#来作为开发语言。
点击“新建项目”菜单项后,在打开的“新建项目”对话框中,双击左边的“Visual C#”使其成为展开状态,然后点击“Web”,点击右边的“ MVC 3 Web 应用程序”,然后在下方的名称文本框中填入应用程序的名称,在本教程中命名为“MvcMovie”,然后点击确定按钮。
图1-2 在新建项目对话框中选择 MVC3应用程序并为应用程序命名在接下来打开的“新 MVC 3 项目”对话框中,点击选中“Internet 应用程序”,在“视图引擎”下拉框中保持默认的“Razor”选项不作修改(Razor视图是 MVC3种新增的一种十分重要的视图类型,使用它可以使得Web应用程序的开发变得更加方便快捷,在后文中将对此进行详细介绍)。
图1-3 选择项目模板与视图引擎点击确定按钮,Visual Web Developer会为你所创建的 MVC项目提供一个默认模板,这样的话你就拥有了一个可以立刻运行的应用程序。
默认的模板中提供的是一个很简单的显示“欢迎使用 MVC!”文字的应用程序,你可以以此作为你的开发起点。
图1-4 Visual Web Developer提供了一个默认的应用程序模板点击“调试”菜单中的“启动调试”菜单项(该菜单项的快捷键为F5),Visual Web Developer将启动一个内置的服务器,并且在该服务器中打开当前Web应用程序的主页,如图1-5所示。
图1-5 MVC3的默认应用程序模板的调试画面请注意该页面在浏览器中的地址为“http://localhost:4423/”。
其中“localhost”代表了本机上你刚刚创建的Web应用程序的临时网站地址,4423代表了Visual Web Developer使用的一个随机端口,每次调试的时候,Visual Web Developer都会使用这个端口来作为内置服务器的端口号。
在各计算机上,该端口号都是不相同的,因为该端口号是Visual Web Developer随机选择的。
在这个模板应用程序的页面的右上角,提供了两个按钮与一个“登录”链接,点击“登录”链接,页面跳转到登录页面,点击“主页”按钮,页面返回到主页,点击“关于”按钮,页面跳转到“关于”页面。
接下来,让我们开始逐步将这个默认的应用程序修改为我们所要的应用程序,在这个过程中逐步了解 MVC 3的有关知识。
首先,让我们关闭浏览器并开始代码的修改工作。
MVC3 快速入门--第二节添加一个控制器(2011-02-24 19:39:57)转载标签:分类:MVC3控制器杂谈MVC的全称为model-view-controller(模型-视图-控制器)。
MVC是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。
使用MVC开发出来的应用程序一般包括以下几块内容:∙控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。
∙模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。
∙视图(View):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件。
在本教程中,将全面介绍这些概念,并且向你展示如何利用它们来搭建一个应用程序。
首先,让我们来创建一个控制器(controller)类。
在解决方案资源管理器中,鼠标右击Controllers文件夹,并且点击添加-〉控制器,如图2-1所示。
图2-1 添加控制器在弹出的“添加控制器”对话框中,将控制器命名为“HelloWorldController”,然后点击添加按钮,如图2-2所示。
图2-2 命名控制器观察解决方案资源管理器中新增加了一个文件,名字为HelloWorldController.cs,并且该文件呈打开状态,如图2-3所示。
修改打开的HelloWorldController.cs文件,在HelloWorldController类中,创建如代码清单2-1中所示的两个方法,控制器将返回一个HTML格式的字符串。
代码清单2-1 在控制器中创建方法public class HelloWorldController : Controller{//// GET: /HelloWorld/public string Index(){return "这是我的<b>默认</b>action...";}//// GET: /HelloWorld/Welcome/public string WelCome(){return "这是我的Welcome方法...";}}在这个修改后的HelloWorldController控制器中,第一个方法名为Index。
现在让我们从浏览器中调用该方法。
运行应用程序(按F5键或Ctrl+F5键),在打开的浏览器中的地址栏后面,添加“HelloWorld”路径(譬如,在我的计算机上,浏览器中地址为http://localhost:4423/HelloWorld),画面显示如图2-4所示。
由于在Index方法中,直接返回了一个HTML格式的字符串,所以在浏览器中将该字符串显示出来。
图2-4 HelloWorldController控制器中Index方法的运行结果在 MVC中,可以根据浏览器中的输入地址来调用不同的控制器或控制七种不同的方法。
MVC的默认的映射逻辑使用如下所示的格式来决定应该调用什么控制器或控制器中的什么方法。
/[Controller]/[ActionName]/[Parameters]URL地址的第一部分决定调用哪个控制器类,所以“/HelloWorld”映射到HelloWorldController控制器类。
第二部分决定调用控制器中的哪个方法。
所以“/HelloWorld/Index”将会调用HelloWorldController控制器类的Index方法。
由于Index方法是控制器类的默认方法(可以另外指定控制器类的默认方法),所以也可只输入“/HelloWorld”来调用该方法。
在浏览器的地址栏中,输入“http://localhost:xxxx/HelloWorld/Welcome”,将会调用HelloWorldController控制器类的Welcome方法,该方法返回“这是我的Welcome方法...”文字,所以浏览器中显示该文字,如图2-5所示。
图2-5 HelloWorldController控制器中Welcome方法的运行结果接下来,让我们修改Welcome方法,以便在URL地址栏中可以传递一些参数给该方法(例如:/HelloWorld/Welcome?name=Scott&numtimes=4)。
修改后的代码如下所示。
注意这里我们使用了C#的可选参数,当URL地址中没有使用numtimes参数时,该参数被默认设定为1。
public string Welcome(string name,int numTimes=1){return HttpUtility.HtmlEncode("Hello " + name + ",NumTimes is:" + numTimes);}运行该应用程序,在浏览器中输入“http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4”,运行结果显示如图2-6所示。
浏览器自动将URL地址栏中的参数映射成Welcome方法中的传入参数。
图2-6 在Welcome方法中使用参数到现在为止,我们展示了MVC中的“VC”(视图与控制器)部分的工作机制,控制器返回HTML字符串。
很显然大多数情况下你不想让控制器直接返回HTML字符串,因为那样的话编码起来就太麻烦了。
所以我们需要使用不同的视图模板文件来帮助生成HTML格式的页面文件,在下一节中让我们来看一下如何在 MVC3中使用视图。
MVC3 快速入门-第三节添加一个视图(2011-02-26 18:58:25)转载分类:MVC3标签:视图模板应用程序控制器3.1添加一个视图在本节中我们修改HelloWorldController类,以便使用视图来向客户端展示HTML格式的响应结果。
我们使用 MVC3中新增的Razor视图引擎来创建视图。
Razor视图模板文件的后缀名为.cshtml,它提供了一种简洁的方式来创建HTML输出流。
Razor 视图大大减少了在书写视图模板文件时所需要输入的字符,提供了一个最快捷,最简便的编码方式。
这里,我们在HelloWorldController类的Index方法中添加使用一个视图。
在修改前的Index方法中返回一个字符串,我们修改这个方法来使它返回一个视图,代码如下所示。
public ActionResult Index(){return View();}这段代码表示Index方法使用一个视图模板来在浏览器中生成HTML格式的页面文件。
接着,让我们来添加一个Index方法所使用的视图模板。