在ASP.NET MVC開發模型中,由於將頁面進行分層開發和呈現,開發人員在視圖開發中通常是不推薦使用服務器控件的,因爲在ASP.NET MVC頁面是派生自ViewPage而ASP.NET WebForm是派生自System.Web.UI.Page的,同樣爲了規範ASP.NET MVC開發模型中頁面的呈現和運行,使用服務器控件也不是最好的選擇。爲了能夠方便的呈現控件和進行URL操作,ASP.NET MVC開發模型提供了Helper進行控件的呈現和URL操作,Helper包括HtmlHelper和UrlHelper。
1.HTML輔助工具(HtmlHelper)
由於在ASP.NET MVC開發模型中不推薦使用服務器控件,這就會提高ASP.NET頁面編程的複雜性,使用HtmlHelper能夠減少相應的編程複雜性。使用HtmlHelper能夠創建HTML控件並進行控件編程,在MVC編程模型中,其執行過程很像傳統的ASP的執行過程。使用HtmlHelper創建HTML控件的代碼如下所示。
<h2>HtmlHelper</h2>
<p>
請輸入用戶名:<% =Html.TextBox("Name") %> //使用TextBox
<br/>
請輸入密碼:<% =Html.Password("Name") %> //使用Password
<br/>
<input id="Submit1" type="submit" value="submit" />
</p>
上述代碼通過HtmlHelper創建了HTML控件,HtmlHelper方法創建控件只能夠在Views中使用而不能在Controllers中使用。
注意:這裏的TextBox控件和Password控件並不是ASP.NET控件,TextBox控件和Password控件分別生成的是HTML控件。
2.URL輔助工具(UrlHelper)
UrlHelper在MVC開發框架中比較簡單,UrlHelper是用來呈現相應的URL路徑的,UrlHelper使用的示例代碼如下所示。
<h2>HtmlHelper</h2>
<p>
<%=Url.Action("Index","Beta") %>
</p>
上述代碼通過使用UrlHelper的Action方法進行URL的呈現,在Action方法中,其參數分別爲方法名和Controller,上述代碼中用於顯示BetaController中的Index頁面URL