程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.net Mvc Codeplex Preview 5 第二篇 Controller&Filter

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

編輯:關於ASP.NET

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才可以訪問

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved