asp.net mvc视图和强类型的viewdata

时间:2009-08-26 11:13:42

标签: asp.net-mvc views

由于各种原因,我更喜欢强类型的viewdata用于我的asp.net mvc视图,我实际上更喜欢带有代码隐藏的Views,因为它们在早期的asp.net mvc预览中,因为代码隐藏是定义poco viewdata类的自然场所因为他们通常与实际观点有1:1的关系。

有没有办法在asp.net rtm视图中使用代码隐藏,或者这不是一个好方法?

编辑: 我想要代码隐藏的唯一原因是我将ViewData视为视图的属性。如果视图是一个类,则ViewData是其属性之一,在单独的程序集中定义它是不自然的。

4 个答案:

答案 0 :(得分:6)

在与MVC一起工作近一年之后,我可以确认即使只有一次我也不需要代码隐藏。如果你使用代码隐藏,你可能仍然在考虑WebForms。放弃它。

应该只显示模型数据。可以直接在服务器标签内的视图中执行简单的决策,例如要应用的CSS类。更复杂的决策应该转到控制器或业务逻辑。

答案 1 :(得分:1)

  

我更喜欢强类型的viewdata   各种各样的asp.net mvc观点   原因

这仍然可以做到。 NerdDinner FormviewModels page 6 我用它,它完美地运作。在我的两个问题herehere中您可以找到一些问题

如上所述,我不明白你为什么要使用代码隐藏。如果您愿意,我建议您阅读有关MVC结构的一般信息以及适用的视图。

答案 2 :(得分:0)

拥有Views的代码隐藏违背了MVC框架的其中一个目的。

View应尽可能简单,只关注演示文稿,同时让Controller或Extensions处理所有业务逻辑。

那些具有ViewState组合的人应该不再需要代码隐藏。

答案 3 :(得分:0)

MVC架构中不需要像Web Forms一样的代码。

整个MVC架构构建在控制器的控制器上,而不是构成魔术的webcontrol事件。

就个人而言,我只是陷入了MVC的黑暗面,但我喜欢我现在看到的内容。

您可以使用操作中的“返回视图(项目)”轻松地将内容放在视图中 - >项目可以是强类型数据,并可在模型中轻松验证。 (这很好,因为输入错误将显示在视图上)