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

超級簡單:以 Attribute 簡化 ViewState 屬性存取

     編輯:關於ASP.NET

傳統寫法

private int ViewState_UserID {
    get { return (int)ViewState["UserId"]; }
    set { ViewState["UserId"] = value; }
}

Attribute 簡化版

[ViewStateProperty("UserID")]
protected int ViewState_UserID { get; set; }

// 或自動以屬性名稱作為 Key
[ViewStateProperty]
protected int ViewState_UserID { get; set; }

實作原理

  1. 建立 BasePage : Page,引用 System.Reflection、System.Linq。
  2. 內部類別 ViewStatePropertyAttribute : Attribute,標記目標屬性。
  3. 在 BasePage 載入時透過反射掃描所有標記屬性,自動對應 ViewState 存取。
[AttributeUsage(AttributeTargets.Property)]
public class ViewStatePropertyAttribute : Attribute {
    public string ViewStateName { get; private set; }
    public ViewStatePropertyAttribute() { ViewStateName = string.Empty; }
    public ViewStatePropertyAttribute(string name) { ViewStateName = name; }
}

後續所有頁面繼承 BasePage 即可享用簡潔語法。

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