首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 內建 Helper 詳解:UrlHelper 與 HtmlHelper 常用方法與擴充技巧

     編輯:關於ASP.NET

前言

Helper 是在 View 中封裝可重用邏輯的方法群。ASP.NET MVC 雖允許在 .aspx 直接寫方法,但為支援多視圖引擎(如 NVelocity、Brail)並保持關注點分離,提供了 UrlHelper 與 HtmlHelper 兩大核心 Helper。

UrlHelper:產生 URL 連結

核心方法:Action

根據路由規則產生對應 Controller/Action 的 URL,多載如下:

public string Action(string actionName);
public string Action(string actionName, object values);
public string Action(string actionName, RouteValueDictionary valuesDictionary);
public string Action(string actionName, string controllerName);
public string Action(string actionName, string controllerName, object values);
public string Action(string actionName, string controllerName, RouteValueDictionary valuesDictionary);

使用範例

<%= Url.Action("Index", "Home") %>
<!-- 輸出:/Home/Index -->

當路由規則變更時,自動反映正確 URL,極具維護性。

Encode 方法

<%= Url.Encode("中文") %>
<!-- 等同 Server.UrlEncode -->

擴充方法

可使用 C# 3.0 擴充方法為 UrlHelper 新增功能。

HtmlHelper:產生 HTML 標籤

ActionLink 產生超連結

<%= Html.ActionLink("首頁", "Index", "Home") %>
<!-- 輸出:首頁 -->

ActionLink 多載

public string ActionLink(string linkText, string actionName);
public string ActionLink(string linkText, string actionName, object values);
public string ActionLink(string linkText, string actionName, RouteValueDictionary valuesDictionary);
public string ActionLink(string linkText, string actionName, string controllerName);
public string ActionLink(string linkText, string actionName, string controllerName, object values);
public string ActionLink(string linkText, string actionName, string controllerName, RouteValueDictionary valuesDictionary);

其他常用 HtmlHelper

  • Html.TextBox、Html.TextArea、Html.DropDownList 等表單控制項
  • Html.ValidationMessage 驗證訊息顯示
  • Html.Partial、Html.RenderPartial 部分視圖

結語

善用 UrlHelper 與 HtmlHelper 可減少硬編碼 URL 與 HTML 字串,提升程式可讀性與維護性。路由變更時只需修改路由表,View 代碼無需異動。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved