问题是默认的MVC验证应用于我的添加行输入,其控件变为红色,并显示属性验证消息。我不想看到它们,因为它真的令人困惑。实际上我无法理解为什么会这样。可能是因为MVC无法将空字符串转换为DECIMAL(VIEWMODEL中指向输入的类型)
答案 0 :(得分:1)
您需要两种不同的表单,一种用于添加项目,另一种用于编辑项目。这些需要指向不同的操作,然后只验证一个对象。
我不确定你的代码是什么样的,但我真的会建议更像下面的内容,你的观点完全分开:
从显示所有“产品”的视图开始。或者你的数据是什么。当您在视图中填充此内容时,您可以为每个个人分配Edit
个链接。您只需要一个整体Add Project
链接。像这样:
@Html.ActionLink("Add Project", "AddProjectView")
For Each project In Model.Projects
@Html.ActionLink("Edit", "EditView", New With {.id = project.ProjectID})
@<div>PropertyName: @Project.Property</div>
Next
现在,您可以将Edit
视图与数据视图分开,该视图可以自行处理所有验证。同样,Add Project
视图是分开的,并处理自己的验证。成功添加或编辑后,您只需将用户重定向回上方视图,即可显示和更新数据。