似乎大多数人都倾向于为每个视图(Thunderdome Principle)创建单个ModelView,而不是将弱类型项填充到ViewData字典中。
因此,考虑到这一点,ViewDictionary应该用于什么任务呢?真的很小的一次性观点?根本不要使用它?
答案 0 :(得分:3)
从不,保持所有强力打字。帮助重构,这就足够了。
答案 1 :(得分:3)
MasterPages让我觉得这是一个很难绕过他们的地方。假设您在所有页面上都有一个标准位置,其中将显示错误消息。您可能理论上强类型MasterPage并确保所有视图模型都继承自某些基类,这些基类为您提供了对该变量的强类型访问,以便在您的母版页中设置错误消息,但这似乎是矫枉过正。做一些事情更合理:
ViewData["ErrorMessage"] = "This is an error message";
并让您的母版页显示一个部分:
<div class="error_message"><%= ViewData["ErrorMessage"] %></div>
答案 2 :(得分:0)
我认为问题是:在not和when?上使用强类型视图。如果您的视图不是强类型,那么您将使用ViewDataDictionary(主要用于简单/小型应用程序)。如果您正在使用单元测试,那么最好使用可以简单测试的View Model。