這節講 一下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, 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則是你必備之選.
如果你有特殊需要可以用3.0新特性,擴展方法來爲UrlHelper來增加新的功能
HtmlHelper則是另一個常用之Helper
它是來生成HTML代碼用的
eg.
重載方法有:
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);
比如有Button
生成
CheckBox:
Form:
</form>
當然還有類似於SubmitButton,Image這些方法,這裏就不多講了
注意一點Preview2中Html.Mailto方法有些Bug請儘量避免使用這個方法
吾生也有涯,而知也無涯,以有涯隨無涯,殆己
附:
功能介紹還有幾篇就寫完了,爭求意見,下面可以講示例也可以講對Asp.net MVC進行擴展,不知道大家想看什麼,有興趣的朋友可以回覆一下,我做個參考