1. 建立Model
public class Order
{
[ScaffoldColumn(false)]
public int OrderID { get; set; }
[Required(ErrorMessage = "必須輸入名字")]
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:C}")]
public double Total { get; set; }
}
[Required(ErrorMessage = "必須輸入名字")] 是表明該字段爲必輸項,也可以使用其他的一些屬性標籤,甚至可以自定義
2. 在Controller中定義Action
public class HomeController : Controller
{
public ActionResult Index()
{
Order o= new Order();
o.OrderID = 1;
o.FirstName = "George";
o.LastName = "Guo";
o.Email = "[email protected]";
o.Total = 125;
return View(o);
}
[HttpPost]
public ActionResult Index(Order order)
{
if(ModelState.IsValid)
{
return RedirectToAction("About");
}
return View(order);
}
}
第一個沒有參數的是默認顯示時調用,帶HTTPPOST標籤的,是當form進行post提交的時候調用,在post的時候會看model是否是valid,如果是說明成功,否則返回到當前view,並傳入當前invalid model。
3. 在前臺頁面中定義form
@using(Html.BeginForm("Index","Home",FormMethod.Post))
{
@Html.EditorFor(m=>m.FirstName)
@Html.ValidationMessageFor(m=>m.FirstName)
<input type="hidden" name="OrderID" id="OrderID" [email protected] />
<input type="submit" value="submit" />
}
@Html.EditorFor(m=>m.FirstName) 爲該對象字段生成TextBox標籤並綁定數據
@Html.ValidationMessageFor(m=>m.FirstName),如果model爲invalid則顯示與之相關的錯誤消息