简单的问题。我一定是完全错了,但我觉得值得问这个问题。
根据MVC中描述的关注点分离,在View中访问ViewData [“Message”]是否正确?
例如,在Controller中:
ViewData[“Message”] = “Display this message”;
在View中我们调用
<%= ViewData[“Message”] %>
备选方案(不违反分离关注)是在视图模型中设置消息。
例如在Controller中:
UserViewModel.Message = “Display this message”
在View中我们调用
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<UserViewModel>" %>
<%= Html.TextBox("Message", Model Message)%>
任何想法都非常感激。
答案 0 :(得分:3)
ViewData
和Model
之间的区别在于前者是无类型属性包,后者是强类型对象。但它们都是View
的“模型”。
答案 1 :(得分:1)
我不知道这些应该如何区别,除了最后一个强类型?您将数据传递给视图,让视图完成它。
答案 2 :(得分:0)
对我而言,我认为所有三个(ViewData,ViewBag和TempData)的概念都违反了MVC。使用非常方便,但不遵循图found here。
View不应该知道Controller传递的内容。我实际上asked the same question just a few minutes ago然后我发现了这篇文章。