首先,我已经成为一名php程序员很长时间了,我最近是一名mvc程序员。我做了一些小型网站,每个网站最多只有一两个 Controller 。但我已经建立了一个网站,它将成为非常重要的网站。将有大量数据传递给 View 。
现在,通常我每次都会尝试使用模型方法而不是 ViewBag 或 ViewData 方法。如果 View 需要更多数据,那么我会更改模型类,然后重新编译项目。特别是,如果主题是索引页,则传递到索引 View 的数据每次都会发生变化。在大型网站中,我将使用大量使用不同模型的局部 View 。因此,每次我都必须更改索引的模型以支持索引 View 中的那些部分 View 。如果我将新的部分 View 添加到索引 View 中,我必须将部分的模型添加到索引的模型中。 每次启动网站时,我都会为索引 View 实现一个 IndexModel 类。然后,每次向索引添加新的部分 View 时,我都会向该模型添加属性。 现在这是正确的方法还是我应该使用 ViewBag 或 ViewData 作为部分模型。我认为真正的问题是我们什么时候应该使用模型方法,什么时候不应该...... 如果您能分享您的经验,我将不胜感激。最佳答案
您应该始终使用 MVC 方法,尤其是对于简单的网站,它可以节省您的时间并使应用程序更易于理解。
如果你编写的内容大于两页,则需要使用 MVVM 模式(MVC 的增长),在这种情况下,你将避免使用 ViewModel 的“部分模型”。
模型必须仅包含业务逻辑。
如果您始终使用 ViewModel(而不是模型)从 View 返回数据并将其传递给 View ,那就更好了,因为它提供了一定的安全性。
为了方便将数据从模型复制到 View 模型的过程,请使用 AutoMaper 和 EmitMapper 之类的东西。
ViewBag 和 ViewData 应该仅用于附加数据,例如 DropDown 的项目集合,或某些 View 文本(例如页面标题)。
MVVM 模式的另一个优点是更好的可测试性。如果您编写并支持非常大的站点,您可以为代码的某些负责部分编写测试。
更多详情可以查看google - MVVM, ASP-MVC。
如果我对您的问题不理解或遗漏,请在评论中写下(“添加评论”引用)。
关于asp.net-mvc - 我们应该如何将数据传递到大型 ASP.NET MVC 网站中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539069/