点击这里给我发消息 点击这里给我发消息

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

添加时间:2010-1-5
    相关阅读: 相关内容

BindingHelperExtensions.UpdateFrom改为UpdateModel

  使用方法(缺点:如果表单里存在MyModel里不存在的字段就会报错)

  varx=newMyModel();

  this.TryUpdateModel(x,Request.Form.AllKeys);

  或(缺点:一个一个写太麻烦)

  varx=newMyModel();

  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:

  publicActionResultSave(string[]like)
    {
       ViewData["Message"]=string.Join("",like);
       returnView("Index");
    }

  这样是可以取到like的值的

  AcceptVerbs Filter

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

  [AcceptVerbs("Post")]

  publicActionResultSave()//只有Post才能访问

  或

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

  publicActionResultSave()

  ActionName Filter

  为一个方法定义它的ActionName

  如HomeController中定义

    [ActionName("MyAction")]
    publicActionResultSave()
    {
       returnView("Index");
    }

  则/home/save不能访问

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

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册