随笔分类 -  MVC 3.0系列

基于ASP.NET MVC 3.0程序开发系列文章
我要学ASP.NET MVC 3.0(十九): MVC 3.0 实例之使用开源控件实现表格排序和分页
摘要:概述前几节我们学习了怎么在MVC 3.0程序里面实现一个数据表格,以及在数据表格中加入了排序、分页和筛选等功能,对于MVC视图中标记的呈现,我们的办法是在一个<table>中通过foreach遍历数据集,来输出一对对的<td>来显示每行的数据。虽然这种办法是可行的,但是如果数据列过多就显得过于牵强。我们就会想如果有类似的控件来完成我们的Grid那就再好不过了。背景我们都知道ASP.NET MVC框架包含一个HtmlHelper类,该类为我们视图界面中渲染Html内容提供了支持,比如创建操作链接 Html.ActionLink,文本框Html.TextBoxFor等,都是 阅读全文
posted @ 2011-08-22 15:53 记忆逝去的青春 阅读(15238) 评论(29) 推荐(11) 编辑
我要学ASP.NET MVC 3.0(十八): MVC 3.0 实例系列之表格中合并排序、分页和筛选
摘要:概述通过前几节的学习,我们知道如何在MVC 3应用程序中实现一个简单表格并在表格之中加上了排序的表头及给分页,这些功能都是单一的,很多时候我们肯定不会只单单做一个排序或者分页功能吧,这样的表格往往不能满足我们的需求,为了更好的展示数据我们需要把这些功能合并在一个表格之中。问题分析我们知道在排序功能里,我们有两个参数:①SortBy列名称:显示用户是通过那个列来排序的。②ascending排序标识:显示要排序的列名是升序还降序排列。在分页功能里,也有两个参数:①page当前页:当前表格索引页。②pageSize每页显示条数:当前表格中显示几条数据。而在数据筛选里,有三个参数:①EmployeeN 阅读全文
posted @ 2011-08-19 09:19 记忆逝去的青春 阅读(7869) 评论(10) 推荐(3) 编辑
我要学ASP.NET MVC 3.0(十七): MVC 3.0 实例之表格中数据的筛选
摘要:概述 通过上节的学习,我们知道如何在MVC 3.0应用程序中给简单表格加入排序和分页功能,但是作为开发人员,这些还是不能完美的展现我们的表格的优越性。有时候我们还需要对数据进行筛选处理,然后使用表格进行显示。那么在MVC 3.0中做一个筛选功能又怎么做呢?这节我们就使用MVC 3.0来筛选数据然后使用表格显示筛选结果。 问题分析 对于我们的数据集来说,我们要求可以通过输入程序编号、选择成员家族(狼和羊)或者通过其他一些标识型字段来如:婚姻状态等方式来筛选数据。这样一来使用的参数就显而易见了:①EmployeeNO查询编号:可以通过输入编号来筛选数据。②DepartmentID家族编号:可以通过 阅读全文
posted @ 2011-08-18 09:11 记忆逝去的青春 阅读(9480) 评论(20) 推荐(3) 编辑
我要学ASP.NET MVC 3.0(十六): MVC 3.0 实例系列之表格数据的分页
摘要:概述上节我们学习了如何在MVC 3应用程序中实现一个简单表格并在表格之中加上了排序的表头,使我们的表格在使用起了更加人性化,这些都是使用了MVC 3.0的相关特性来完成的。我们在程序中添加了一个辅助类EmployeeGridModel,来显示我们的Grid的数据,包括所有要传递及初始化的数据,在表格排序的时候起到了很大的作用,同样的我们在分页的时候也需要这样的辅助类。这节我们继续使用MVC的新特性来为Grid中的数据添加分页功能,有了分页功能,表格就不会显得单调,显示起来就更加有美感。问题分析通过上节的学习我们知道,在MVC 程序中使用参数可以实现排序,那么我们使用参数怎么实现分页呢?分页有需 阅读全文
posted @ 2011-08-17 13:34 记忆逝去的青春 阅读(10740) 评论(12) 推荐(1) 编辑
我要学ASP.NET MVC 3.0(十五): MVC 3.0 实例系列之表格的排序
摘要:概述 上节我们学习了如何在MVC应用程序中实现一个简单表格,并使用Linq to sql映射工具,读取了数据库中的Employee表数据对表格进行了填充,还对日期及相关数据进行了格式化。使得表格在整体上看起来美观了不少。从这节开始,我们就使用MVC不断的加深对Grid的改造工作,包括对Grid中数据的排序、筛选、分页等比较困难的操作。这节我们先从排序开始。通过这节学习,我们就可以给普通的表格加上复杂的排序功能,使表格在使用起来显得更加人性化。 问题分析 在MVC程序中很多功能都是通过传递参数来实现的,同样的实现排序功能也可以采用这种理念,那么我们要传递那些参数呢?①SortBy列名称:显示用户 阅读全文
posted @ 2011-08-16 08:47 记忆逝去的青春 阅读(9411) 评论(21) 推荐(2) 编辑
我要学ASP.NET MVC 3.0(十四): MVC 3.0 实例系列之创建数据表格
摘要:概述在ASP.NET MVC里面微软并没有给我们提供像GridView表格之类的控件,但是作为web开发人员表格数据显示是我们面临的常见任务之一,从这节开始我们就一步一步学习如何在基于Razor引擎的ASP.NET MVC页面中实现像GridView一样的表格,并且实现表格中的排序、分页、筛选等功能,便于我们更好的理解和使用ASP.NET MVC。简介 在ASP.NET WebForms中微软为我们提供了GridView控件,而且控件中提供了一种快速简便的方法来显示表格中的数据集,并提供排序,分页,编辑,删除等一些额外的功能。我们知道在ASP.NET WebForms页面加载时,GridVie 阅读全文
posted @ 2011-08-15 11:16 记忆逝去的青春 阅读(13732) 评论(12) 推荐(6) 编辑
我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击
摘要:概述 众所周知,ASP.Net MVC程序在浏览器运行时产生了标准的Html标签,包括浏览器要发送的关键数据等内容都在Html内容里面,听起来不错,但是假如我们仿造类似的Html内容,更改里面关键数据,在浏览器运行起来会怎么样呢?好下面我们就做这样一个例子。 CSRF攻击例子首先我们拿以前做好的person/edit作为例子先看控制器代码 //初始页面 // GET: /Person/Edit/5 public ActionResult Edit(int id) { return View(); } //修改方法 // POST: /Person/Edit/5 [HttpPost] publi 阅读全文
posted @ 2011-08-08 11:35 记忆逝去的青春 阅读(8785) 评论(13) 推荐(10) 编辑
我要学ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件
摘要:概述 在ASP.NET MVC框架中已经封装了很多基于Html标准的Html控件,我们可以方便的使用这些控件输出想要的内容,使开发变得快捷。例如ASP.NET MVC框架包括以下设置标准的HTML控件(部分控件):Html.ActionLink() Html.BeginForm() Html.CheckBox() Html.DropDownList() Html.EndForm() Html.Hidden() Html.ListBox() Html.Password() Html.RadioButton() Html.TextArea() Html.TextBox() 使用这些控件做页面呈现 阅读全文
posted @ 2011-08-05 15:32 记忆逝去的青春 阅读(11456) 评论(6) 推荐(4) 编辑
我要学ASP.NET MVC 3.0(十一): MVC 3.0 使用筛选器
摘要:概述在 ASP.NET MVC 中,控制器将定义一些操作方法,这些操作方法与可能的用户交互(如单击链接或提交窗体)之间通常具有一一对应关系。 例如,当用户单击链接时,会将请求路由到指定的控制器,然后调用对应的操作方法。 例如操作完成后你要产生日志、语言筛选、等其他动态操作。 筛选器的由来及用途 有时,您需要在调用操作方法之前或运行操作方法之后执行逻辑。为了对此提供支持,ASP.NET MVC 提供了筛选器。 筛选器是自定义类,可提供用于向控制器操作方法添加操作前行为和操作后行为的声明性和编程性手段。操作筛选器的可能用途与能够应用它们的操作一样种类繁多。 操作筛选器的某些可能用途包括:日志记录, 阅读全文
posted @ 2011-08-03 15:56 记忆逝去的青春 阅读(8348) 评论(11) 推荐(4) 编辑
我要学ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证
摘要:概述许多 Web 应用程序都要求能够限制对某些资源(例如特定页面)的访问,以确保只有经过身份验证的用户才能访问这些资源。 ASP.NET MVC 的默认 Web 应用程序项目模板提供了一个控制器以及一些数据模型和视图,您可使用这些组件为应用程序添加 ASP.NET 窗体身份验证功能。 借助该内置功能,用户可以注册、登录和注销,以及更改自己的密码。 对于许多应用程序,此功能可提供足够的用户身份验证级别。页面控件引用在MVC 3.0的项目模板里面的Shared文件夹中,我们可以看到名为_LogOnPartial.cshtml的页面,打开页面代码@if(Request.IsAuthenticated 阅读全文
posted @ 2011-08-02 16:15 记忆逝去的青春 阅读(12798) 评论(15) 推荐(5) 编辑
我要学ASP.NET MVC 3.0(九): MVC 3.0 验证你的Model
摘要:概述上节我们学习了Model的数据在界面之间的传递,但是很多时候,我们在数据传递的时候为了确保数据的有效性,不得不给Model的相关属性做基本的数据验证。本节我们就学习如何使用 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据模型中的各个字段的验证。这些特性用于定义常见的验证模式,例如范围检查和必填字段。而 DataAnnotations 特性使 MVC 能够提供客户端和服务器验证检查,使你无需进行额外的编码来控制数据的有效。System.ComponentModel.DataAnnotations 特性可用于实体数据模型 (EDM)、LI 阅读全文
posted @ 2011-08-01 17:19 记忆逝去的青春 阅读(15627) 评论(23) 推荐(10) 编辑
我要学ASP.NET MVC 3.0(八): MVC 3.0 传递和保存你的Model
摘要:概述在 ASP.NET MVC 框架中,模型(Model)是负责核心应用程序或业务逻辑的应用程序部件。 模型对象通常从诸如 SQL Server 之类的永久存储区(如数据库)中访问数据,并对该数据执行业务逻辑。模型特定于应用程序,因此 ASP.NET MVC 框架对您可以生成的模型对象的种类没有限制。 例如,您可以使用 ADO.NET DataSet 或 DataReader 对象,或者可以使用一组自定义的域对象。 您也可以使用对象类型的组合来处理数据。总之:处理数据的办法是多样的只要您选择适合您的其中一种即可。模型不是特定的类或接口。 类是模型的一部分,这并不是因为它可以实现某接口或派生自某 阅读全文
posted @ 2011-07-29 14:36 记忆逝去的青春 阅读(15893) 评论(10) 推荐(2) 编辑
我要学ASP.NET MVC 3.0(七): MVC 3.0 新的Razor引擎
摘要:概述随着MVC 3.0的发布,越来越多的人都纷纷投入了基于MVC 3.0的开发,不仅如此,MVC 3.0的Razor引擎更是在UI上给力,使得表单数据显示变得更加简便,给人眼前一亮的感觉。一开始的WebForm页面 Html标签和C#代码混用看上去杂乱,而且<% %>标记成对出现,有时代码太混乱了都找不到前后标记,杯具啊!!!MVC 3.0 新的WebPages设计,他给我们简洁的代码实现方案。简单的@标记就可以代替成对出现的<% %>,使用起来方便快捷。实例代码:Razor之简ASPX<script src="<%: Url.Content(&q 阅读全文
posted @ 2011-07-28 14:32 记忆逝去的青春 阅读(18708) 评论(11) 推荐(1) 编辑
我要学ASP.NET MVC 3.0(六): MVC 3.0创建你的View视图
摘要:概述在模型-视图-控制器 (MVC) 模式中,视图专门用于封装呈现逻辑。 这些视图不应包含任何应用程序逻辑或数据库检索代码。 所有应用程序逻辑都应该由控制器进行处理。 视图使用从控制器传递给它的数据来呈现相应的 UI。 此数据是使用 View 方法从控制器操作方法中传递给视图的。在 MVC Web 应用程序的普通工作流中,控制器操作方法将处理传入的 Web 请求。这些操作方法使用传入的参数值执行应用程序代码以及检索或更新数据库中的数据模型对象。 然后,这些方法会选择一个将响应呈现到浏览器的视图。MVC 3.0视图引擎MVC 3.0为我们提供了两种视图引擎ASPX(C#)和Razor(CSHTM 阅读全文
posted @ 2011-07-27 16:43 记忆逝去的青春 阅读(10387) 评论(2) 推荐(1) 编辑
我要学ASP.NET MVC 3.0(五): 入手Controller/Action
摘要:概述前面我们已经学习了MVC的Routing路由规则,其接受Url请求后是根据所请求的Controller去匹配Action方法来执行操作的。Controller之优在未使用 MVC 框架的 ASP.NET 应用程序中,用户交互通常围绕以下方面来组织:页面、由页面和页面控件引发的事件,以及处理页面和页面控件引发的事件。相比之下,在 ASP.NET MVC 应用程序中,用户交互围绕控制器和操作方法进行组织。控制器定义操作方法。 控制器可根据需要包括多个操作方法。操作方法与用户交互之间通常具有一对一映射关系。 例如,用户交互包括将 URL 输入到浏览器中、单击链接以及提交表单。 这些用户交互中的每 阅读全文
posted @ 2011-07-25 16:47 记忆逝去的青春 阅读(11338) 评论(9) 推荐(4) 编辑
我要学ASP.NET MVC 3.0(四): 我要MVC潜规则之配置Routing
摘要:概述使用MVCRouting可以不必将URL映射到网站中特定文件。通过添加Routing规则,使URL能够安装指定的规则发送HTTP请求,这种方式能够简洁、方便、有效、快速的实现对指定页面的访问或者参数的传递,更易于被用户理解该URLMVC Routing之优在不使用路由的 ASP.NET 应用程序中,对 URL 的传入请求通常映射到处理该请求的物理文件,如 .aspx 文件。 例如,对 http://server/application/Products.aspx?id=4 的请求映射到名为 Products.aspx 的文件,该文件包含代码和标记用于呈现对浏览器的响应。 网页使用查询字符串 阅读全文
posted @ 2011-07-22 15:23 记忆逝去的青春 阅读(13362) 评论(11) 推荐(9) 编辑
我要学ASP.NET MVC 3.0(三): 初识MVC的Url映射潜规则Routing
摘要:概述在 ASP.NET 网站中,URL 通常映射到存储在磁盘上的文件(通常为 .aspx 文件)。 这些 .aspx 文件包括经过处理以响应请求的标记和代码。ASP.NET MVC 框架将 URL 映射到不同于 ASP.NET Web 窗体页面的服务器代码。 该框架会将 URL 映射到 controller 类,而不是将 URL 映射到 ASP.NET 页面或处理程序。 Controller 类将处理传入的请求,如用户输入和交互,并根据用户输入执行相应的应用程序和数据逻辑。 Controller 类通常会调用一个生成 HTML 输出作为响应的单独视图组件。ASP.NET MVC 框架会将模型、 阅读全文
posted @ 2011-07-21 15:15 记忆逝去的青春 阅读(15713) 评论(5) 推荐(9) 编辑
我要学ASP.NET MVC 3.0(二): MVC的概念及MVC 3.0开发环境
摘要:摘要MVC即: Model(模型), View(视图), Controller(控制器)Model:模型对象是实现应用程序数据域逻辑的应用程序部件。 通常,模型对象会检索模型状态并将其存储在数据库中。 例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL Server 数据库内的 Products 表中。 在小型应用程序中,模型通常是概念上的分离,而不是实际分离。 例如,如果应用程序仅读取数据集并将其发送到视图,则该应用程序没有物理模型层和关联的类。 在这种情况下,数据集担当模型对象的作用。Controller:控制器是处理用户交互、使用模型并最终选择 阅读全文
posted @ 2011-07-20 17:16 记忆逝去的青春 阅读(15179) 评论(16) 推荐(10) 编辑
我要学ASP.NET MVC 3.0(一): MVC 3.0 的新特性
摘要:摘要MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。园子里有很多大鸟都对MVC了如指掌,面对问题犹同孙悟空的七十二变一般游刃有余,令人羡慕。大鸟们的著作我们作为菜鸟看了又看,读了又读但是还是对MVC3.0的了解不是很深。这种杯具的情况岂止是杯具呀,那简直就是杯具。综合分析后得出结论:眼高手低!!!最后菜鸟痛定思过,决定从最基本的开始一步一步开始学习MVC 3.0 也希望想学习MVC3.0的小菜们分享一下下。。。。前言ASP.NET MVC3 在 ASP.NET MVC 1 和 2 的基础上,增加了大量的特 阅读全文
posted @ 2011-07-19 16:19 记忆逝去的青春 阅读(21078) 评论(14) 推荐(14) 编辑