ASP.NET MVC @helper使用说明
簡單的 @helper 方法應用場景
Razor中的@helper語法讓您能夠輕松創建可重用的方法,此方法可以在您的視圖模板中封裝輸出功能。他們使代碼能更好地重用,也使代碼更具有可讀性。
在我們定義@helper方法之前的代碼
讓我們看一個簡單的產品列表應用場景。在此場景中,我們列出產品明細并輸出產品的價格或是單詞“免費!”——如果這個產品不花費任何成本的話:
以上代碼非常直截了當,而且Razor的語法使得在HTML里能簡單地集成服務器端C#代碼。
在多視圖模式中重用@helper
在上面的實例中,我們只是在1個視圖中定義了@helper方法,所以它只能再當前視圖中使用。
然而,我們可以將@helper方法定義在視圖模板外,讓項目的所有視圖都可以重復使用。
您可以在.cshtml/.vbhtml保存我們的@helper方法,并把這個文件放在項目根目錄下創建的\App_Code目錄下例如,我在\App_Code文件夾中創建了一個“ScottGu.cshtml”文件,并且在文件中定義了2個單獨的幫助器方法:
一旦我們的幫助器定義在應用程序級別,我們就可以在應用程序的任何視圖模板中使用它們。
在上面的\App_Code文件夾中的ScottGu.cshtml會邏輯編譯為一個稱為“ScottGu”的類。這個類中包含了“DisplayPrice” 和 “AnotherHelper”的靜態成員。我們可以使用以下代碼重寫前面的示例來調用它:
當像如下方法調用應用程序級別幫助器時,VS將會提供智能感知代碼:
有一個問題:當一個@helper保存在\app_code目錄中時,默認情況下您不能訪問其中的ASP.NET MVC Html幫助器方法。(例如Html.ActionLink(), Html.TextBox()等等)。而當它們定義在與視圖相同的文件夾中,您是可以訪問內置HTML幫助器方法的。當幫助器位于\app_code目錄下時,確實當下是不支持內置HTML幫助器方法的訪問的。
總結
Razor的@helper語法提供了一種簡便的方法來將呈現功能封裝到幫助方法中去。您可以在單個視圖模板或整個項目的所有視圖模板中重用它。
原文地址:http://www.cnblogs.com/webapi/p/5669033.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的ASP.NET MVC @helper使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细说SSO单点登录
- 下一篇: asp.net ajax控件工具集 Au