程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.net Mvc Framework 八 (Helper)

Asp.net Mvc Framework 八 (Helper)

編輯:關於ASP.NET

本人已經瘋了...快寫完了而關掉浏覽器丟失數據之事在此文章上發生了兩次,所以本人倍加珍惜

這節講 一下Asp.netMVC中的Helper

何謂Helper,其實就是在View中為了實現一些靈活功能而寫的方法組

其實Asp.net MVC的View是Aspx的頁面,本身可以聲明定義方法,那為什麼要有Helper呢

其實無非是將界面與邏輯分離,而且Asp.net MVC也並不只支持Aspx一種View,在擴展包中,也有Castle的NVelocity引擎和Boo所以,如果在Aspx中定義方法的話會影響其擴展性和可移植性.而且代碼也不太好看.

UrlHelper的Action方法 用於生成一個超級鏈接,它的重載為

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);

例如我在View中寫Url.Action("Index","Home"),運行後則會生成/Home/Index這個地址

如果你的系統中的URL Routing規則總是變化的話這個Helper則是你必備之選.

public string Encode(string url);這也是UrlHelper的一個方法 使用方法 如<%=Url.Encode("中文")%>功能與Server.UrlEncode相同,這裡不多說了

如果你有特殊需要可以用3.0新特性,擴展方法來為UrlHelper來增加新的功能

HtmlHelper則是另一個常用之Helper

它是來生成HTML代碼用的

eg.

<%=Html.ActionLink("首頁","index","Home")%>則生成<a href="/Home/Index">首頁</a>

重載方法有:

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的種類就比UrlHelper多得多了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved