2009-08-31 47 views
2

在ASP.NET MVC網站的幾乎每個頁面中,我都使用有關用戶的信息。這通常會在模型中傳遞關於他們工作的公司的信息以傳遞到視圖,或者在View中確定用戶可以使用其權限查看頁面的哪些部分。在ASP.NET MVC中使用基本模型是好的還是壞主意?

而不是在每個模型中獲取用戶,有沒有一種方法可以讓用戶數據始終可用?即我應該建立一個基礎模型,還是讓一些'主'控制器在ViewData中傳遞用戶?

任何想法,甚至更好的任何代碼將不勝感激。

回答

4

這是一個好主意。我在所有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 %> 
+1

+1我無法想象我會經歷的痛苦而沒有一個。 – kemiller2002 2009-08-31 14:19:38

+0

太棒了,讓生活更輕鬆。 – 2009-08-31 17:58:39

0

只要你不重新發明輪子,這是一個好主意。人們經常在模型中看到很多信息(特別是,這裏是ASP.NET用戶,但人們似乎也複製了很多路線數據)已經可用於視圖,而無需將其添加到模型中。但對於那些尚未在視圖中的事物來說,這很好。

相關問題