C# MVC中模型的目的是什么?

C# MVC中模型的目的是什么?,c#,asp.net-mvc,model-view-controller,C#,Asp.net Mvc,Model View Controller,我读了很多关于MVC的书,甚至在.Net中编写了一个稍微复杂的数据驱动的MVC移动web应用程序,但是(因为我还在学习),我不知道该在模型中添加什么。该应用程序有十几个视图、一个主控制器和用于SQL交互和自定义数据类型的帮助文件。我能够在不使用模型的情况下很好地进行数据绑定,自定义数据类型的工作与预期的一样。请善待我,我错过了什么?模型的用途是什么,为什么我必须使用它(标准除外)?视图是一个模板,可以通过向其中传递包含数据的模型来填充 它允许根据模型包含的内容自定义视图 您还如何将数据填充到视图

我读了很多关于MVC的书,甚至在.Net中编写了一个稍微复杂的数据驱动的MVC移动web应用程序,但是(因为我还在学习),我不知道该在模型中添加什么。该应用程序有十几个视图、一个主控制器和用于SQL交互和自定义数据类型的帮助文件。我能够在不使用模型的情况下很好地进行数据绑定,自定义数据类型的工作与预期的一样。请善待我,我错过了什么?模型的用途是什么,为什么我必须使用它(标准除外)?

视图是一个模板,可以通过向其中传递包含数据的模型来填充

它允许根据模型包含的内容自定义视图

您还如何将数据填充到视图中

也许jQuery会得到?

在您的例子中,“用于SQL交互和自定义数据类型的帮助文件”是您的模型。模型是对真实数据源(如数据库)的抽象

对于小项目,您所做的工作很好。然而,随着项目越来越大,将视图直接绑定到数据库/模型而不完全抽象模型会导致越来越多的问题。

MVC主要是一种用户界面设计模式。模型是“其他一切”的容器,所有与UI无关的东西

通常,您可以将尽可能多的逻辑从视图推回控制器或视图模型,并通过将尽可能多的逻辑推回模型,使控制器尽可能精简。因此,“模型中的内容”的简短回答是“不进入视图、视图模型或控制器的所有内容。”

具体而言:

  • 域对象,如
    customer
  • 服务
  • 业务逻辑
  • 服务器端验证
  • 对象关系映射器
  • 数据库
  • 存储库
  • 简单地说——“MVC模型包含除纯视图和控制器逻辑之外的所有应用程序逻辑(业务逻辑、验证逻辑和数据访问逻辑)

    使用MVC,模型可以保存和操作应用程序数据。”

    如果您同时忽略模型,那么您就没有遵循标准MVC模式。然而,正如您所发现的,您不需要使用它。您可以直接从DAL(数据访问层)中定义的控制器和返回类型调用数据库,DAL间接用作设计中的模型。这不是一个好的做法

    您应该被迫遵循该模式,以便在应用程序的体系结构中实现“关注点分离”。您可以在网上找到很多关于这个主题的信息,因为它与MVC模式有关


    在您没有意识到的情况下,“SQL交互和自定义数据类型的帮助文件”可能是模型。很难说没有看到你想出了什么我会抓起一本MVC的书,在问之前先学习基础知识。干杯,伙计!哇,你们真是太不友好了。谢天谢地,当你学习的时候,人们对你很刻薄,所以你可以把它传给下一代“我从来没有学过任何东西,我只是知道它,因为我是编程之神”这一代。我读了很多书,MVC仍然没有意义。我想从经验丰富的程序员那里得到实用的推理,我让人们投了反对票,因为他们太适合一个新问题(除了罗兰,他有很好的指导思维)。现在我必须删除我的帐户,这样我的代表就不会被摧毁。TGarret-你从来没有被什么东西卡住过吗?如果你在视图的顶部看到类似于
    @model IEnumerable
    的东西,很可能你正在使用
    模型,而你只是没有意识到。没有提供代码很难说。@user4855057:我认为公平地说,关于堆栈溢出的限定问题是由那些刚开始已经阅读了所有教程和练习的人提出的。