2010-02-05 47 views
1

簡單的問題。我一定是完全錯誤的,但我認爲值得問這個問題。這是否確實違反了MVC分離問題

根據MVC中描述的問題分離正在訪問View中的ViewData [「Message」]是否正確?

例如,在控制器:

ViewData[「Message」] = 「Display this message」; 

在查看我們稱之爲

<%= ViewData[「Message」] %> 

替代(不違反關注點分離)是已在郵件中視圖模型設置。

例如在控制器:

UserViewModel.Message = 「Display this message」 

在查看我們稱之爲

<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<UserViewModel>" %> 
<%= Html.TextBox("Message", Model Message)%> 

不勝感激任何想法。

回答

1

我不明白這些應該是不同的,除了最後一個是強類型?您將數據傳遞給視圖,並讓視圖執行其操作。

3

ViewDataModel之間的區別在於前者是無類型的屬性包,後者是強類型對象。但它們都可以作爲您的View的「模型」。

0

對我來說,我認爲所有三個(ViewData,ViewBag和TempData)的概念是違反MVC。使用非常方便,但不遵循圖found here

該視圖不應該知道控制器傳遞的是什麼。我其實asked the same question just a few minutes ago,然後我發現這個職位。

相關問題