建立 MyBaseController 繼承 Controller,加入 Title 屬性寫入 ViewData["Page_Title"]。所有 Controller 繼承此基底類別,Master Page 僅需輸出 <title><%=ViewData["Page_Title"]%></title>。同理可擴充 Keywords、Description 等 SEO 標籤。
在 ViewModel 定義 IContext Context 屬性,Controller 實例化 ViewModel 時注入當前上下文(如自訂使用者資訊),避免在 View 中重複實例化。範例:
public class HomeIndexViewModel {
public IContext Context { get; set; }
public string Message { get; set; }
}
此模式保持 ViewModel 純粹性,同時提供必要的執行環境資訊。