在ASP.NET MVC網站的幾乎每個頁面中,我都使用有關用戶的信息。這通常會在模型中傳遞關於他們工作的公司的信息以傳遞到視圖,或者在View中確定用戶可以使用其權限查看頁面的哪些部分。在ASP.NET MVC中使用基本模型是好的還是壞主意?
而不是在每個模型中獲取用戶,有沒有一種方法可以讓用戶數據始終可用?即我應該建立一個基礎模型,還是讓一些'主'控制器在ViewData中傳遞用戶?
任何想法,甚至更好的任何代碼將不勝感激。
在ASP.NET MVC網站的幾乎每個頁面中,我都使用有關用戶的信息。這通常會在模型中傳遞關於他們工作的公司的信息以傳遞到視圖,或者在View中確定用戶可以使用其權限查看頁面的哪些部分。在ASP.NET MVC中使用基本模型是好的還是壞主意?
而不是在每個模型中獲取用戶,有沒有一種方法可以讓用戶數據始終可用?即我應該建立一個基礎模型,還是讓一些'主'控制器在ViewData中傳遞用戶?
任何想法,甚至更好的任何代碼將不勝感激。
這是一個好主意。我在所有MVC項目中始終使用MasterModel。
爲此,您需要繼承所有視圖模型,並強制將MasterPage鍵入MasterModel。
public class MasterModel
{
string UserName { get; set; }
}
public class HomeModel : MasterModel
{
}
public class NewsModel : MasterModel
{
}
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<MasterModel>" %>
User name: <%= Model.UserName %>
只要你不重新發明輪子,這是一個好主意。人們經常在模型中看到很多信息(特別是,這裏是ASP.NET用戶,但人們似乎也複製了很多路線數據)已經可用於視圖,而無需將其添加到模型中。但對於那些尚未在視圖中的事物來說,這很好。
+1我無法想象我會經歷的痛苦而沒有一個。 – kemiller2002 2009-08-31 14:19:38
太棒了,讓生活更輕鬆。 – 2009-08-31 17:58:39