ASP.Net MVC 应该为每个视图创建一个模型吗?

2024-03-14

我对 ASP.Net MVC 相当陌生,我发现自己为每个视图制作一个模型类。例如。 SignInModel、SignUpModel、EditProfileModel 等。

其中许多都有些相似,具有相同的数据库文件,然后还有一些自定义属性。

这真的是 MVC 应该完成的方式吗,还是我错过了它的某些方面?

我意识到这可能是主观的,但应该有一个“最佳实践”。


这真的是 MVC 应该完成的方式吗,还是我错过了它的某些方面?

这绝对是 MVC 应该完成的方式,并且您不会错过它的任何方面。

每个视图一个视图模型。

您仍然可以拥有基本视图模型类并使用视图模型的继承,但要特别小心验证规则,不同视图之间可能会有所不同。因此,例如,如果在一个视图上需要某个属性,则在另一个视图上可能不再需要该属性,因此如果您使用了基本视图模型类和数据注释,您将会非常高兴。

即使您重复某些属性,也不要犹豫是否要创建视图模型。这就是视图模型的用途 => 响应视图的特定需求,并记住这些需求可能经常变化,因此拥有单独的视图模型一开始可能看起来很困难,但从长远来看,这是最好的解决方案恕我直言,无论是在维护还是良好实践方面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.Net MVC 应该为每个视图创建一个模型吗? 的相关文章

随机推荐

  • 鼠标悬停在图像上带有文本的 DIV

    好吧 首先 这真的非常类似于http dribbble com http dribbble com主页 以最简单的形式 我有一个图像 我正在尝试对其进行 CSS 处理 以便当我将鼠标悬停在图像上时 会显示一个 DIV 其中包含一些文本和部分
  • 为什么 SpeechRecognizer 突然停止工作?

    我的 Android 应用程序 Xamarin 使用语音识别 这在 Android 8 11 和 12 的智能手机上运行良好 几周以来 我的应用程序的语音识别已停止在 Android 11 上运行 测试了 2 种不同的智能手机 在Andro
  • 如何在 sympy 中求解简并方程组

    我有很多方程组 其中一些未指定 我想找到一个非零解 如果存在 或报告不存在 然而 sympy 似乎在试图找到所有解决方案时停滞不前 这是一个极端的例子 from sympy import A Matrix 0 0 0 0 0 0 0 0 0
  • 确定是否有任何双精度组合从设定总和到目标值

    我在工作中遇到一个问题 让我有点困惑 我需要验证给定的药物剂量可以由药丸剂量大小的任意组合构成 例如 dose 400 0 sizes 15 0 30 0 45 0 400 不能由这些值的任何总和创建 至少我认为这是真的 但是 如果变量更改
  • Java Swing - 半透明组件

    我最近问了一个关于半透明组件因看似未正确更新而导致奇怪的工件的问题 我收到的答案导致伪像消失 但以半透明为代价 解决方案是 对于每个半透明组件 也调用 setOpaque false 函数 这样 Swing 知道它需要重绘这些组件后面的背景
  • 如何在 shell 脚本中将文件作为 stdin 传递

    我有一个 bash 脚本 当像这样调用时可以工作 stats sh rows test file 该程序主要计算行平均值和中位数以及列平均值和中位数 现在对于程序 我想将文件作为标准输入传递 但是当我运行这段代码时它会打印 you have
  • Python 请求没有给我提供与浏览器相同的 HTML

    我正在使用 Python 请求抓取 Wikia 页面 但有一个问题 requests 请求没有给我相同的 HTML因为我的浏览器具有完全相同的页面 为了比较 这是 Firefox 给我的页面 https www dropbox com s
  • python在哪里存储全局变量和局部变量?

    和问题几乎一样本地 全局 静态 自动 寄存器 外部 常量 易失性变量存储在哪里 https stackoverflow com questions 3684760 where the local global static auto reg
  • Vuejs v-model 特殊字符

    你能用 v model 转义特殊字符吗 我在编辑从数据呼叫中收到的文本时遇到了问题 编辑时 this 在文本区域中显示为 this 我知道 v html 但是你能将它与 v model 一起使用吗 如果没有 还有什么选择 v model作品
  • 将动态生成的 GridView 放入 ASP.Net C# 中的特定

    我在 C 的代码隐藏文件中创建了 gridview 我想将该 gridview 放入特定的 div 源文件的 我生成网格的代码是 using System using System Collections Generic using Sys
  • 仅从一个 div 中获取选定的文本

    我有一个包含许多表格和 div 的页面 其中一张带有一些文字 页面在此 div 后还有一个 url 需要 如果用户从 div id comment 中选择文本 div 内的文本以及此 div 中的另一个 div 内的文本 则在按 url 后
  • VScode远程连接错误:进程尝试写入不存在的管道

    我使用vscode和remote ssh连接我的服务器 配置后 我想连接我的主机 但失败了 对话框显示 无法建立与XX的连接 进程试图写入不存在的管道 output 16 45 20 916 Log Level 3 16 45 20 936
  • 如何将 python 中的命令行参数转换为字典?

    我正在编写一个应用程序 它接受任意命令行参数 然后将它们传递给 python 函数 myscript py arg1 1 arg2 foobar arg1 4 然后在 myscript py 中 import sys argsdict so
  • python ssl eof 发生违反协议、wantwriteerror、zeroreturnerror

    我正在使用 gevent 为池运行许多 celery 任务 20 000 也用猴子修补所有任务 这些任务中的每一个都会调用 adwords 等第三方服务来提取数据 由于潜在的 SSL 错误 我的任务不断失败 下面是一些异常的堆栈跟踪 排名不
  • 正则表达式从捕获中排除匹配项

    在 Net 中使用正则表达式 我将有一组类似这样的数据 lt Bunch o Data Here gt where lt 只是新记录的指标 gt 是记录的结尾 这些记录可能会像这样出现 lt Dataset 1 gt
  • C++ 矢量数学和 OpenGL 兼容

    我一直在做很多矢量数学的工作 并为其编写了自己的模板 我的要求是大量的向量数学 加法 减法 缩放 叉乘和点积 而且我需要能够将我的向量作为 float 传递 以便 openGL 可以使用它 我已经很高兴地使用这个有一段时间了 今天一位讲师看
  • Codeigniter:如何获取文件的文件名

    我是 Codeigniter 新手 我正在尝试获取上传图像的文件名 以便将其保存在数据库中 我有两个模型 homemodel 处理我的数据库 image upload model 处理图像上传 一切正常 除了我不知道如何将图像文件名发布到数
  • 如何在 Xcode 5 中的 Storyboard 上抑制约束和布局警告?

    是否有任何标志可以抑制 Xcode 5 中故事板的不明确布局或错误放置的视图 我在代码中添加约束 并且只是使用 Interfacebuilder 中的视图作为虚拟对象 我不想应用 Xcode Resolve 自动布局问题 因为我很高兴视图在
  • 当我登录 Azure 门户时,Azure Function 计时器运行两次

    我在 Azure 中有一个定时函数应用程序 计划在每天 22 00 运行 然而 它似乎每天都在 21 59 和 22 00 运行 当我登录 Azure 门户检查日志时 它似乎也是随机运行的 以下是我收到的重复条目的时间戳示例 我在网上搜索过
  • ASP.Net MVC 应该为每个视图创建一个模型吗?

    我对 ASP Net MVC 相当陌生 我发现自己为每个视图制作一个模型类 例如 SignInModel SignUpModel EditProfileModel 等 其中许多都有些相似 具有相同的数据库文件 然后还有一些自定义属性 这真的