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

ASP.NET MVC 自訂 Helper 實作:在 View 中透過屬性注入使用字串擴展方法

     編輯:關於ASP.NET

前言

MonoRail 時代的 Helper 綁定在 Controller 上(透過 [Helper(typeof(ChHelper))] 屬性),但 Helper 實際用於 View,這稍微違背關注點分離。ASP.NET MVC 採用不同機制:View 也有代碼後置檔,繼承 ViewPage,可在其中定義屬性注入自訂 Helper。

實作步驟

1. 建立自訂 Helper 類別

以字串擴展為例,提供紅/綠色標記方法:

public class StringHelper
{
    public string Red(string str)
    {
        return string.Format(@"{0}", str);
    }
    public string Green(string str)
    {
        return string.Format(@"{0}", str);
    }
}

2. 在 View 代碼後置中宣告屬性

在 Index.aspx.cs 中加入自動實作屬性:

public partial class Index : ViewPage
{
    public StringHelper Str { get; set; }
}

3. 在 View 標記中使用

透過屬性呼叫 Helper 方法:

<%= Str.Red(ViewData["title"]) %>

擴充至全域可用

若需在多個 View 共用,可建立自訂基類 BaseViewPage : ViewPage,在其中定義 Helper 屬性,再讓所有 View 頁面繼承該基類。Master 頁同理,透過 ViewMasterPage 基類實現。

結語

ASP.NET MVC 透過 View 代碼後置的屬性注入方式,讓 Helper 更貼近使用場景,符合關注點分離原則,並易於透過基類統一管理。

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