gpt4 book ai didi

asp.net-mvc - Razor MVC 模型正在丢失保存操作的数据

转载 作者:行者123 更新时间:2023-12-04 01:40:28 24 4
gpt4 key购买 nike

我有 1 个使用包含数据的 TextBoxFor 的文本框。

我有模型的 ID 和其他一些基本数据,但作为标签直接显示在 View 中。

当我提交表单时,只有文本框字段具有模型上的数据,其他所有内容都为空,包括 Id。这意味着它不会保存到数据库中。

除了文本框之外,什么会导致所有字段为空?

最佳答案

这是网络的工作方式,只有表单元素与表单一起提交,标签不是表单元素。

这里通常发生的情况是您:

  • 渲染一个隐藏字段( Html.Hidden/Html.HiddenFor ),其中包含 Id 和文本框
  • 接受 Controller 操作中的更改(作为参数或对象)
  • 从您的存储库/数据库
  • 中水化由 Id 表示的对象的实例
  • 将更改应用到水合实例
  • 验证对象的状态并更新您的存储库/数据库(或您计划对其进行的任何操作)

  • 由于发布的数据类通常由于缺少属性(例如标记为 [Required] 的那些)而“无效”,因此创建一个仅具有更改属性的新类(称为“命令模型”)是很常见的。此类可以拥有自己的验证属性,因此不会与您的表单验证混淆。

    关于asp.net-mvc - Razor MVC 模型正在丢失保存操作的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435809/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com