MVC提供了方便的Model Binding. 由client端送出的Request可以自動的繫結到controller中對應的物件或參數.
Model Binding的資料來源
Client的request可分為幾種來源:
- Route data : 例如URL的placeholder: {controller}/{action}/{id}中的id
- Query String parameters : 例如Request.QueryString中的collection : http://example.com/Auction?category=phone
- 從Post : 例如Request.Form的collection : Request.Form[“Title”]
- 從cookie
排除物件中某個屬性的繫結(Binding)
在某種應用場合, 我們希望form中的某個資料在controller端不binding到物件. MVC提供一個屬性可以排除要做bind的物件中的某個屬性. 範例中, Email的資料不會binding到物件中:
[HttpPost]
public ActionResult Index([Bind(Exclude = "Email")]CustomTestModels m)
{
ModelState.Remove("Name");
return View();
}
沒有留言:
張貼留言