代码之家  ›  专栏  ›  技术社区  ›  mmcdole

什么时候可以在ASP.NET MVC中使用VIEWDATA字典?

  •  1
  • mmcdole  · 技术社区  · 16 年前

    似乎大多数人都倾向于为每个视图创建单个模型视图。( Thunderdome Principle )代替将弱类型项填充到viewdata字典中。

    因此,考虑到这一点,那么应该将viewDictionary用于什么任务呢?非常小的一次性视图?根本不用?

    3 回复  |  直到 16 年前
        1
  •  3
  •   mxmissile    16 年前

    永远不要把所有的东西都用强类型。有助于重构,这就足够了。

        2
  •  3
  •   Kevin Pang    16 年前

    母版页在我看来是一个很难绕过它们的地方。假设您在所有页面上都有一个标准的位置来显示错误消息。你 能够 理论上,强类型的母版页,并确保所有视图模型都继承自某个基类,该类为您提供对变量的强类型访问,以便在母版页中设置错误消息,但这似乎有点过头了。更合理的做法是:

    ViewData["ErrorMessage"] = "This is an error message";
    

    让您的母版页上有一个显示它的分区:

    <div class="error_message"><%= ViewData["ErrorMessage"] %></div>
    
        3
  •  0
  •   eu-ge-ne    16 年前

    我认为问题是: 在“否”和“何时”上使用强类型视图? .如果您的视图不是强类型的,那么您将使用ViewDataDictionary(主要用于简单/小型应用程序)。如果您使用的是单元测试,那么最好使用可以简单测试的视图模型。