2015年9月28日 星期一

ASP.NET MVC4學習系列–Model Binding

MVC提供了方便的Model Binding. 由client端送出的Request可以自動的繫結到controller中對應的物件或參數.

Model Binding的資料來源

Client的request可分為幾種來源:

  1. Route data : 例如URL的placeholder: {controller}/{action}/{id}中的id
  2. Query String parameters : 例如Request.QueryString中的collection : http://example.com/Auction?category=phone
  3. 從Post : 例如Request.Form的collection : Request.Form[“Title”]
  4. 從cookie

排除物件中某個屬性的繫結(Binding)

在某種應用場合, 我們希望form中的某個資料在controller端不binding到物件. MVC提供一個屬性可以排除要做bind的物件中的某個屬性. 範例中, Email的資料不會binding到物件中:

[HttpPost]
public ActionResult Index([Bind(Exclude = "Email")]CustomTestModels m)
{
ModelState.Remove("Name");
return View();
}

沒有留言:

張貼留言