Asp.net mvc 3 我在哪里可以了解更多关于如何构建MVC站点的信息?

Asp.net mvc 3 我在哪里可以了解更多关于如何构建MVC站点的信息?,asp.net-mvc-3,Asp.net Mvc 3,我意识到这可能有点含糊不清,但我真的不知道还有什么地方可以问。我有一些PHP的历史,我正在尝试自学ASP.NETMVC3 虽然我可以找到很多关于语法的源材料和各个部分的教程。我已经开始了,我有很多事情要做,但我发现很难弄清楚如何设计整个东西,把东西放在哪里,我不完全确定我可以问谁,或者我可以在哪里找到这些东西 我正在做的这个项目是一个在线rpg游戏网站。我已经进行了用户注册和登录,我编写了一个自定义的成员资格提供程序,以适应我现有的数据库结构。但是我遇到的麻烦是知道在哪里查找数据库以及如何存储数

我意识到这可能有点含糊不清,但我真的不知道还有什么地方可以问。我有一些PHP的历史,我正在尝试自学ASP.NETMVC3

虽然我可以找到很多关于语法的源材料和各个部分的教程。我已经开始了,我有很多事情要做,但我发现很难弄清楚如何设计整个东西,把东西放在哪里,我不完全确定我可以问谁,或者我可以在哪里找到这些东西

我正在做的这个项目是一个在线rpg游戏网站。我已经进行了用户注册和登录,我编写了一个自定义的成员资格提供程序,以适应我现有的数据库结构。但是我遇到的麻烦是知道在哪里查找数据库以及如何存储数据等。例如,假设你登录,你有一定数量的黄金。在_布局页面的状态栏右侧,它将始终显示此值。你在哪里查这个?你怎么记得的?在控制器中?哪个控制器?等等

有人能推荐一套好的高级教程或某种可以讨论这一问题的论坛吗

谢谢

书呆子晚餐是整个图片的一个很好的示例,您可以下载示例代码并使用它

书呆子晚餐是一个很好的全图示例,您可以下载示例代码并使用它


MSDN和ASP.NET站点在MVC3上提供了很多功能。我还建议购买Phil Haack和Steve Sanderson的两本MVC3书籍


这些都是很好的链接和教程。此外,您还需要一个单独的数据库来存储数据,而不是验证和授权。这将允许解耦和更好的安全性。您应该将数据存储在数据库中,然后模型将通过DAL(数据访问层)持有对该数据库的访问权,通常控制器持有DAL的实例化存储库。从这个意义上说,控制器可以从模型(从而从数据库)构建对象,然后通过强类型对象将它们发送到视图,供您在用户界面中使用。

MSDN和ASP.NET站点在MVC3上提供了很多功能。我还建议购买Phil Haack和Steve Sanderson的两本MVC3书籍


这些都是很好的链接和教程。此外,您还需要一个单独的数据库来存储数据,而不是验证和授权。这将允许解耦和更好的安全性。您应该将数据存储在数据库中,然后模型将通过DAL(数据访问层)持有对该数据库的访问权,通常控制器持有DAL的实例化存储库。从这个意义上说,控制器可以从模型(从而从数据库)构建对象,然后通过强类型对象将它们发送到视图,供您在用户界面中使用。

我从以下方面了解了我所知道的一切:

  • ->mvc 3上精彩的博客文章
  • 我必须去看电影

    • 我从以下方面学到了我所知道的一切:

      • ->mvc 3上精彩的博客文章
      • 我必须去看电影

      看看Steve Sanderson的一本好书——我用前两个版本让我了解MVC

      如果您希望使用实体框架,那么我也可以推荐


      看看Steve Sanderson的一本好书——我用前两个版本让我熟悉MVC

      如果您希望使用实体框架,那么我也可以推荐


      我发现的问题是,很多示例没有使用MVC的最佳实践,而是支持在教程中简单易读。因此,我将概述一些我在艰难的道路上发现的对我有用的东西

      就我个人而言,我发现您的控制器应该负责通过ViewModels处理信息,作为业务逻辑和视图之间的数据传输对象(DTO),而这正是它们应该具备的全部功能。我选择从不在控制器中使用业务逻辑,而是选择一系列服务类来处理自己的职责组(IoC负责处理服务可能存在的大多数问题)。 这样做是为了保持业务逻辑干涸,并且在您决定稍后尝试制作站点的移动版本,或者可能向您的数据公开公共WebService/API时,使其变得更容易

      每个视图都应该使用特定于每个视图的视图模型,并且这些视图应该只包含基本类型或其他视图模型。永远不要直接使用ORM中的数据实体,不过老实说,当视图只显示信息时,我打破了自己的规则,但我通常会在以后付费。强加在数据模型上的验证规则不一定适用于表单,加载到实体上的数据也可能与视图无关。支持延迟加载复杂数据实体的ORM可能会对一些非常有用的第三方库造成严重破坏,这些库可以在MVC中使用,比如和,更不用说在表单中呈现这些对象以供稍后发回时遇到的其他问题。因此,如果可能的话,尝试使用平面视图模型

      我通常根据其用途命名ViewModels。因此,我的注册页面可能会使用名为
      AccountsRegisterViewModel
      的模型。然而,当我回发邮件时,我通常使用另一个名为
      AccountsRegisterFormModel
      的模型。这是因为很多时候我需要传递一些信息来在视图中渲染,但我真的不关心(在大多数情况下也不会出现)接受我回发的操作。此外,MVC要求您通过dif消除使用相同名称的操作的歧义