Asp.net Mvc Codeplex Preview 5 第二篇 Controller&Filter的新特性
阿新 • • 發佈:2018-12-27
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:
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才可以訪問