文章目錄
- FormExtensions類
- InputExtensions類
- LinkExtensions類
- RenderPartialExtensions類
- SelectExtensions類
- TextAreaExtensions類
- ValidationExtensions類
FormExtensions類
FormExtensions類是一個靜態類,定義了3種類型的擴充方法:BeginForm、BeginRouteForm、EndForm;在實際開發中,也可以使用using語句,而不需要寫EndForm擴充方法。
InputExtensions類
InputExtensions類定義了5種類型的擴充方法:CheckBox,Hidden,Password,RadioButton,TextBox.
<%=Html.BeginForm("CheckBox", "Study")%> <fieldset> <legend>CheckBox</legend> <%=Html.CheckBox("MyCheckBox1",true,new{id="checkBox1"}) %> <label for="checkbox1">XieTi</label> <%= Html.CheckBox("MyCheckBox2",false,new {id="mycheckBox2"}) %> <label for="checkbox2">HeiTi</label> <br/><br/> <input type="submit" value="submit" /> </fieldset> <% Html.EndForm();%>
看看運行後的網頁原始碼吧:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head><title>TestPage</title></head><body> <div> <form action="/Study/Index" method="post">System.Web.Mvc.Html.MvcForm <fieldset> <legend>¨¦¨¨??CheckBox</legend> <input checked="checked" id="checkBox1" name="MyCheckBox1" type="checkbox" value="true" /><input name="MyCheckBox1" type="hidden" value="false" /> <label for="checkbox1"></label> <input id="mycheckBox2" name="MyCheckBox2" type="checkbox" value="true" /><input name="MyCheckBox2" type="hidden" value="false" /> <label for="checkbox2"></label> <br/><br/> <input type="submit" value="submit" /> </fieldset> </form> </div></body></html>
對於每一個CheckBox控制項,MVC都另外產生了一個隱藏的對應控制項
<input name="MyCheckBox1" type="hidden" value="false" /> <input name="MyCheckBox2" type="hidden" value="false" /> ;
所以在控制器中檢測複選框的狀態,可以使用如下代碼:
public ActionResult CheckBox(FormCollection formCollection) { bool myCheckBox1 = formCollection[0].Contains("true"); bool myCheckBox2 = formCollection["checkBox2"].Contains("true"); ViewData["MyCheckBox1"] = myCheckBox1; ViewData["MyCheckBox2"] = myCheckBox2; return View("Test"); }
Password擴充方法主要實現輸入密碼的文字框
RadioButton主要實現選項按鈕控制項
TextBox主要實現單行的文字框
LinkExtensions類
ActionLink,RouteLink
RenderPartialExtensions類
在視圖中顯示相關的使用者控制項
SelectExtensions類
:DropDownList,ListBox
TextAreaExtensions類
:設定TextArea控制項
ValidationExtensions類
:實現控制項的輸入驗證 ValidationMessage, ValidationSummary