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

ASP.NET MVC:基於 Cookie 的用戶自選視圖引擎實現(多 Skin 切換)

     編輯:關於ASP.NET

MVC 預設視圖引擎管理器無法滿足「用戶自選 Skin」需求(如 BBS、多用戶 Blog)。本文實作 SelectViewEngine,讓用戶透過選單切換 Skin,選擇儲存於 Cookie,用戶可控制保留時間。

核心架構

  • 繼承 ViewEngine,提供 AutoViewEngine 管理多引擎。
  • 新增 ISelectViewEngine 介面,擴充 Name 屬性標識唯一引擎名稱。
  • 封裝 WebFormViewEngine 實作 ISelectViewEngine,動態構建視圖搜尋路徑:
public SelectWebFormViewEngine(string name) {
  Name = name;
  MasterLocationFormats = new[] {
    "~/skins/" + Name + "/{1}/{0}.master",
    "~/skins/" + Name + "/shared/{0}.master"
  };
  ViewLocationFormats = new[] {
    "~/skins/" + Name + "/{1}/{0}.aspx",
    "~/skins/" + Name + "/{1}/{0}.ascx",
    "~/skins/" + Name + "/shared/{0}.aspx",
    "~/skins/" + Name + "/shared/{0}.ascx"
  };
  PartialViewLocationFormats = ViewLocationFormats;
}

透過 SelectViewEngine 管理一組可選引擎,根據 Cookie 中的 Skin 名稱動態選擇對應引擎解析視圖,實現用戶級 Skin 切換。

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