2011-11-13 53 views
0

我剛從MVC開始,從Web窗體移動。視圖或多個視圖中的邏輯asp .net MVC

讓我們舉個例子:

我有一個頁面,顯示了諸如姓,名,公司,電話號碼,電子郵件地址等性質的聯繫人列表....

在該頁面中,用戶角色確定他們是否可以看到特定的列。因此,管理員可以看到電話和姓名,而基本用戶只能看到公司,地址和其他幾個人。

你會把這個邏輯扔進一個視圖或讓控制器執行邏輯並使用另一個視圖嗎?

在我看來,使控制器將是最好的,但意見可以得到repititve。

感謝您的幫助,試圖圍繞它前進。

(任何好書recomendation歡迎,想讀一些。)

+0

查看HTTP:/ /nerddinner.codeplex.com/在MVC中有很好的開始 – griegs

回答

1

我有兩個FormViewModels。

第一個包含Admin可以看到的列,第二個包含基本用戶可以看到的列。

我會實現一個接口並將其用作視圖的模型。

然後在控制器中,我會返回一個或另一個取決於。

您可能會考慮爲每種類型的用戶使用局部視圖,然後簡單地;

<% if (user.isAdmin){ %> 
    <% Html.RenderPartial("Admin", model); %> 
<%} else {%> 
    <% Html.RenderPartial("BasicUser", model); %> 
<%}%> 

的另一種方式做,這是也許有觀點做到這一點,你可以創建一個輔助類來檢查,看看用戶是管理員

<% if (user.isAdmin){ %> 
    //Column for admin 
<%}%>