2
最近,當我一直在構建我的asp.net mvc應用程序時,我傾向於在我的母版頁中一直需要計算,格式化和配置多個項目。其中一些項目包括:任何使用自定義ViewMasterPage的人?
- 我喜歡附加特定類別的身體標籤像WordPress一樣幫助我的CSS。我通常附上動作,控制器,頁面模板等的名稱。
- 我喜歡在我的母版頁中使用自定義IIdentity。這IIdentity的包括用戶不錯的顯示名稱,用戶名,用戶名等
- 等..根據項目
的方式我已經約完成這一也在演變。我開始通過發送ViewData以及每個操作結果來填充母版頁中的內容。例如 - >
// in the action
ViewData["BodyClasses"] = "index home default";
ViewData["UserData"] = userData;
return View();
// in the master page
<% UserData userData = (UserData)ViewData["UserData"] %>
...
<body class="<%= (string)ViewData["BodyClasses"] %>">
這太可怕了。所以我開始在我的母版頁頂部放置一些變量,並根據我們在母版頁中使用的對象填充它們。例如 - >
<%@ Master Language="C#" Inherits="System.Web.MVC.ViewMasterPage" %>
<% string controller = ViewContext.RouteData.Values["controller"].ToString().ToLower();
string action = ViewContext.RouteData.Values["action"].ToString().ToLower();
CustomIdentity identity = (CustomIdentity)User.Identity %>
...
<body class="no-js <%= controller + " " + action %>">
這樣更好,但我覺得必須有一個更簡單的解決方案。我開始嘗試創建一個自定義的ViewMasterPage並添加一些公共屬性。是否有其他人正在使用母版頁進行此操作,還是有另一種解決方案,我完全失蹤了?
我用同樣的方法提問,但我想這是有道理的,如果你希望你的頁面充滿羅嗦 標籤。 ;) –
jfar
2010-07-09 18:11:00
我得到了角色的支付。 ;) – a7drew 2010-07-09 18:25:58
@jfar - 你使用哪種方法?什麼是您對自定義ViewMasterPage的想法,值得嗎? – 2010-07-09 20:48:35