15五月/110
ASP.Net MVC 學習筆記 - TryUpdateModel
前言
ASP.Net MVC 是一個很有趣的新框架,在學習之後真的會很容易就決定不再寫 WebForm 的程式了...。只是我也還算在學習的階段,總會在工作之餘又發現新東西或是心得,因此未來會有不少的學習筆記的出現,希望對也是學習 ASP.Net 的網友能有一些幫助,也可以一起學習和切磋了。
本次的主題是 TryUpdateModel 方法,在使用的時候更可以發現到 ASP.Net 在資料的繫結上真的處理的很棒哩!
說明
現在我們有一個 Model 如下所示:
1 2 3 4 5 6 |
public class Account { public Guid ID { set; get; } public string Name { set; get; } public string Password { set; get; } } |
當我們在表單有輸入的欄位名稱分別是 Name 和 Password,但是在 Action 接收時候並沒有直接指定一個參數來接收,此時可以在 Action 裡面定義一個變數,再利用 TryUpdateModel 來繫結我們要的資料,用這樣的方式就可以避免資料繫結的時候更新到我們不要的資訊,也可以避免一些安全性的問題。
1 2 3 4 5 6 7 8 9 10 11 12 |
[HttpPost] public ActionResult Index() { Account data = new Account(); if (TryUpdateModel(data, new string[] { "Name", "Password" }) && ModelState.IsValid) { // 更新資料到資料庫 } return View(data); } |
這時候可能會有一個疑問,它繫結的資料是從哪邊來的?預設它會從表單接收到的資料,只要名稱一樣的就會自己繫結囉!
結論
本文只簡單介紹 TryUpdateModel 的用法,它還有很多可以應用的方式。如果我們在建立 Model 的時候也建立好資料的 Metadata ,就可以藉由更新的時候判斷是否資料輸入正確與否,達到驗證資料的動作囉!
Leave a comment