asp.net-core - ASP.NET Core Razor 页面在回发时保留显示数据
问题描述
我已经阅读了许多与此相关的问题/答案,但我仍然觉得我错过了一些东西。为了更容易阅读,我将所有内容都简化了一些,但本质上我的问题是 -
我有一个剃须刀页面,用户可以在其中编辑公司模型。用户只能编辑,比如说 1 个字段,即company name
. 但是,我需要为该公司显示大约 20 个不同的信息字段。
在回发时,我检查我的模型是否有效,如果不是,我返回Page()
. 问题是我所有的显示数据都丢失了。这意味着我已经将 20 个不同的隐藏输入与每个属性一起放置,因为在模型错误的情况下我需要它。
public async Task<IActionResult> OnPostAsync()
{
if (ModelState.IsValid)
{
//*** success - return user to a different page
}
return Page();
}
<p>@Model.Company.Location.Name</p>
<form class="row" method="post">
@Html.HiddenFor(m => m.Company.CompanyId)
@Html.HiddenFor(m => m.Company.Location.Name)
@Html.HiddenFor(m => m.Company.Location.City)
@Html.HiddenFor(m => m.Company.Location.State)
//*** more listed here
@Html.DropDownListFor(m => m.Company.Name)
<input type="submit" value="Save" />
</form>
我的 html 看起来有点像,所以你明白了。我真的必须将所有标签值放在隐藏的输入中以确保在模型状态错误的情况下保留它们吗?
只是寻找最佳实践,因为这似乎非常......不正确。
解决方案
推荐阅读
- javascript - 从 Notion 页面提取 cookie
- web-deployment - GitHub 操作 SamKirkland/FTP-Deploy-Action@3.1.1 - 错误没有发布文件
- c# - 如何将一维数组复制成二维
- c# - 如何通过套接字服务器发送图像?(不是 TCPClient)
- typescript - 在 typescript 和无服务器集成测试中结合 mocha 代码覆盖率
- javascript - 数组中输入的动态总数
- node.js - 在 node.js 中从我的前端发布到服务器端并做出反应和续集时出现 null 冲突错误
- swiftui - SwiftUI 搜索栏与导航栏一致
- c++ - 使用 60 个并行 TCP/TLS 客户端执行 IO 时,提升 asio 崩溃
- c# - 找不到类型或命名空间名称“...” - Unity Vuforia