天天看點

MVC進階學習--HtmlHelper控件解析(一)

1.HtmlHelper類

      HtmlHelper類位于System.Web.MVC.Html命名空間下。主要包括FormExtensions,InputExtensions,

LinkExtensions,SelectExtensions,TextAreaExtensions,ValidationExtensions,RenderPartialExtensions等7個靜态内,他們全部是是采用拓展方法來實作的

      在asp.net MVC中ViewPage中使用的屬性如下:

<a></a>

MVC進階學習--HtmlHelper控件解析(一)

      public HtmlHelper Html{get;set;}

      public AjaxHelper Ajax{get;set;}

      public string MasterLocation{get;set;}

      public object Model{get;set;}

      public TempDataDictionary TempData{get;set;}

      public UrlHelpler Url{get;set;}

      public ViewContext ViewContext{get;set;}

      public ViewDataDictionary ViewData{get;set;}

      public HtmlTextWriter Writer{get;set;}

2.FormExtensions類

      該類定了3種類型的擴充方法,它們分别是BeginForm,BeginRouteForm,EndForm

      BeginForm共有13種重載方法,這裡參數不一一介紹。

      BeginRouteForm共有12種重載方法,主要表現定義表單的開始部分,其中是以路由的方式設定action的值

      EndForm 主要表現在表單的結尾,生成&lt;/form&gt;

      如下表單使用的幾種方式:

      方式1: 

MVC進階學習--HtmlHelper控件解析(一)

&lt;%=Html.BeginForm("Login", "Home", FormMethod.Post, new { id="name"})%&gt;

        姓名&lt;%=Html.TextBox("name", null, new { id="name",width="200px"})%&gt;&lt;br /&gt;

        密碼&lt;%=Html.Password("pass", null, new { id = "pass", width = "200px" })%&gt;&lt;br /&gt;

        &lt;input type="submit" id="btnSubmit" value="Submit" /&gt;

        &lt;%Html.EndForm(); %&gt;

      這裡注意&lt;%=Html.BeginForm() %&gt; 和&lt;%Html.EndForm();%&gt;後者有 " ; "

      Login:是指Action,Home是指Conroller,FormMethod.Post是指用Post方式來送出表單

      new{id="name"} 是指表單元素屬性。&lt;form id="name" action="Home/Login" method="post"&gt;&lt;/form&gt;

      方式2:

MVC進階學習--HtmlHelper控件解析(一)

&lt;fieldset&gt;

        &lt;%=Html.BeginRouteForm("Start", new { controller = "Home", action = "Login" }, FormMethod.Post)%&gt;

        &lt;input type="submit" id="Submit1" value="Submit" /&gt;

    &lt;/fieldset&gt;

      這種方式的表單是以路由的方式設定action 的,"Start" 是路由的名稱:

      routes.MapRoute(

                "Start",

                "{controller}/{action}",

                new { controller="Home",action="Index"}

                );

      方式3:

MVC進階學習--HtmlHelper控件解析(一)

        &lt;%using (Html.BeginForm("Login", "Home", FormMethod.Post, new { id = "name" }))

          {

        %&gt;

        &lt;%

            } %&gt;

      這種方式不需要&lt;%Html.EndForm();%&gt; 其餘的方式基本相同

      方式4:

      就是普通的html代碼

      &lt;form id="name" method="post" action="Home/Login"&gt;

      &lt;/form&gt;

      這裡不做介紹

本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2013/04/13/3017728.html,如需轉載請自行聯系原作者