c# - C# MVC 提交后,数据被更改
问题描述
这是一个非常奇怪的问题。我有一个网页,显示从搜索返回的每个视图模型以进行编辑。
@foreach (var item in Model.qaJobsVM) {
@using (Html.BeginForm("EditJobAdmin", "QualityAssurance",
FormMethod.Post, new { @class = "form-style-11", @style = "display: inline-block;" })) {
如果用户搜索工作编号,他们会正确返回每个工作编号。
public ActionResult EditJobAdmin(int JobNumber) {
QAService qaService = new QAService(_qaContext);
UpdateViewModelQA updateViewModelQA = new UpdateViewModelQA();
updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(JobNumber);
if (updateViewModelQA.qaJobsVM == null) {
ModelState.AddModelError("ExceptionError", "Could not find job.");
return View("SearchJobAdmin", null);
} else {
return View(updateViewModelQA);
}
}
如果他们更新任何表单,则数据会正确更新并再次运行搜索(以更新页面)。奇怪的是,调用了相同的搜索,返回了相同的结果(除了他们提交的更改),但所有表单都显示来自用户更新的模型。
[HttpPost] public ActionResult EditJobAdmin(JobViewModel item) {
var qaService = new QAService(_qaContext);
UpdateViewModelQA updateViewModelQA = new UpdateViewModelQA();
if (!qaService.ValidErrorNumber(item.ErrorNumber)) {
updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(item.JobNumber);
ModelState.AddModelError("ExceptionError", "Invalid Error Number");
return View(updateViewModelQA);
}
var JobUpdated = qaService.AdminUpdateJob(item, _errorLogService, HttpContext.User.ToString());
updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(item.JobNumber);
ModelState.AddModelError("ExceptionError", "Success!");
return View(updateViewModelQA);
}
它调用相同的函数来获取视图模型并且数据正确返回。如果我调试剃刀页面,它会显示正确的信息,但是当页面完成加载时,它会显示作为每个视图更新的记录(无论它找到多少记录)
任何帮助将不胜感激。
文本示例:我查找作业 12345。作业 12345 返回了 3 个条目。
job: 12345
comment: comment number 1
job: 12345
comment: comment number 2
job: 12345
comment: comment number 3
我用评论更新第一个返回的项目:“comment number 99” 当页面完成加载时,我得到:
job: 12345
comment: comment number 99
job: 12345
comment: comment number 99
job: 12345
comment: comment number 99
如果我搜索工作 12345,我会得到:
job: 12345
comment: comment number 99
job: 12345
comment: comment number 2
job: 12345
comment: comment number 3
解决方案
推荐阅读
- amazon-cloudformation - 如何使用 CloudFormation 为 AWS RDS 创建跨区域只读副本
- azure - Azure 存储 - 使用 PowerShell 上传 .zip 文件
- virtualbox - 在 CentOS 7.5 上找到正确的 CD/DVD 块设备
- c# - 将数据从一个表复制到另一个表 ASP.NET MVC 5
- tableau-api - Tableau 中所有工作表的颜色一致
- scala - 如果我在 for comprehension 中使用 for comprehension 是否有等效于展平返回值
- php - 在php中将数组转换为字符串
- jenkins - 即使Jenkins在本地主机中,也可以在将更改推送到BitBucket时进行构建?
- c# - php 和 unity 仅在某些设备中存在问题
- python - python:内置函数重新定义,具有不同的参数