Asp.net Mvc Codeplex Preview 5 第二篇 Controller&Filter的新特性

 

 

下载:http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16775

上篇: Asp.net Mvc Codeplex Preview 5 第一篇 Helper的新特性

 

 

BindingHelperExtensions.UpdateFrom改为UpdateModel

使用方法(缺点:如果表单里存在MyModel里不存在的字段就会报错)
var x = new MyModel();
this.TryUpdateModel(x, Request.Form.AllKeys);

或(缺点:一个一个写太麻烦)
var x = new MyModel();
this.TryUpdateModel(x, new[] {"IDX", "Name"});

优点:如果你有定义HtmlHelper.ValidationMessage那么它将会自动为你判空,详见上篇文章

 当然,你也可以通过this.TryUpdateModel(x, new[] {"IDX", "Name"},"Account");这种方式来获取不同的Model.

上述 TryUpdateModel返回是否绑定成功的bool值,如果确定无误,可使用 UpdateModel

Action提供了数组参数

View:

  <%using (Html.Form("home", "save", FormMethod.Post)) {%>
     <%=Html.CheckBox("like") %>
     <%=Html.CheckBox("like") %>
     <%=Html.CheckBox("like") %>
     <%=Html.CheckBox("like") %>
     <%=Html.SubmitButton() %>
     <%}%>

Action:

     public ActionResult Save(string[] like)
         {
              ViewData["Message"] = string.Join("", like);
              return View("Index");
         }

这样是可以取到like的值的

 

AcceptVerbs Filter

这个Filter可以让我们定义Action的访问方式

[AcceptVerbs("Post")]
public ActionResult Save()//只有Post才能访问

[AcceptVerbs("Post","GET")]//Post或Get都能访问,但其它方式不能访问
public ActionResult Save()

 

 

ActionName Filter

为一个方法定义它的ActionName

如HomeController中定义

         [ActionName("MyAction")]
         public ActionResult Save()
         {
              return View("Index");
         }

 

则/home/save不能访问

一定要/home/myaction才可以访问

 

时间: 2024-10-22 20:38:20

Asp.net Mvc Codeplex Preview 5 第二篇 Controller&Filter的新特性的相关文章

Asp.net Mvc Codeplex Preview 5 第二篇 Controller&amp;amp;Filter

BindingHelperExtensions.UpdateFrom改为UpdateModel 使用方法(缺点:如果表单里存在MyModel里不存在的字段就会报错) var x = new MyModel(); this.TryUpdateModel(x, Request.Form.AllKeys); 或(缺点:一个一个写太麻烦) var x = new MyModel(); this.TryUpdateModel(x, new[] {"IDX", "Name"})

Asp.net Mvc Codeplex Preview 5 第一篇 Helper的新特性

Asp.net Mvc Codeplex Preview 5是Asp.net Mvc的一个过渡版本,它包含了一些新特性. Pv5对于Helper的更改基本集中在HtmlHelper.对于简单的使用,我基本一带而过,如果朋友们有什么不明白,可以留言. AttributeEncode提供了HtmlAttributeEncode功能 使用方法 <%=Html.AttributeEncode("<script src=\"j.js\"></script>

Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型

本文的环境是Asp.net Mvc Codeplex Preview 5 前文提到我们可以使用 Controller中的UpdateModel来获取 繁杂类型 例如 1 UpdateModel(x,Request.Form.AllKeys); 但是这里有些问题,当我们使用Request.Form.AllKeys时,提交的数据中有非x属性时,就会发生错误: The model of type 'MyModel' does not have a property named 'Name2'. 但是使

Asp.net Mvc Codeplex Preview 5 源代码及MVCContrib4pv5发布

刚刚抽些时间上网就发现Asp.net Mvc Codeplex Preview 5的源码发布了. Asp.net Mvc Codeplex Preview 5已经发布了几天,发布时就说源代码整理中 下面是源代码的下载. http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16775   随之MVCContrib的Pv5版本也发布了. http://www.codeplex.com/MVCContrib/Rel

ASP.NET MVC CodePlex Preview 4 Installer + Source + Changed

下载连接 Pv3-Codeplex Pv4之间的差异:ViewPageViewPage类增加了InitHelpers方法 ControllerController类  新实现了IAuthorizationFilter/IExceptionFilter接口添加了 public ITempDataProvider TempDataProvider { get; set; } 属性ControllerActionInvoker类 新增加了四个方法: FilterInfo GetFiltersForAc

通过扩展改善ASP.NET MVC的验证机制[使用篇]

原文:通过扩展改善ASP.NET MVC的验证机制[使用篇] ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有很多的不足.在这篇文章中,我结合EntLib的VAB(Validation Application Block)的一些思想通过扩展为ASP.NET MVC提供一种更为完善的验证机制.[源代码从这里下载] 目录: 一.扩展旨在解决怎样的验证问题 二.一个简单的消息维护组件 三.多语言的支持 四.基于某

ASP.NET AJAX CodePlex Preview 3的代码解析

忙了半个月,现在终于闲下来了,有时间写博,感觉真爽!刚刚看到有人想一起研究ASP.NET AJAX CodePlex Preview 3的帖子,正好前段时间小研究了下.Preview3就出了两个JS(MicrosoftAjaxAdoNet.js和MicrosoftAjaxTemplates.js). 这里先介绍下MicrosoftAjaxAdoNet类库,对于它的介绍在MS提供的文档中都说明了.这里只是解析下代码,并一起讨论下.先放一张这个类库中的类关系图上来 下面看下它的基础类: AdoNet

ASP.NET MVC 5 入门教程 (2) 控制器Controller

原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-controller.html 上一节:ASP.NET MVC 5 入门教程 (1) 新建项目 下一节:ASP.NET MVC 5 入门教程 (3) 路由route 源码下载:点我下载 顾名思义,一个MVC项目是由M-Model-模型.V-View-视图.C-Controller-

ASP.NET MVC案例教程(基于ASP.NET MVC beta)—第七篇:闲话ASP.NET MVC

摘要 本文作为<ASP.NET MVC案例教程>的完结篇,仅从个人角度,发表一些对ASP.NET MVC框架的看法.并且在最后会附上本系列文章的Demo下 载. 前言 写这篇文章的目的,是想总结一些东西,以帮助朋友们更好的使用这个框架.但是,我又不像把官方列举的哪些优势.功能翻译过来列举在 这里.所以,我想干脆我就纯从个人观点上对这个框架评论一下吧.说的不好的,不对的还请批评指正.^_^ ASP.NET MVC--螺旋进步的产物 对于微软为什么要推出ASP.NET MVC,我们是无从得知的,也