我目前正在尝试在 jquery 模式对话框上进行服务器端验证。我正在使用 Ajax 提交表单,当验证失败时,我想显示对话框并指出验证错误。
我的大部分工作都在工作,但我只有一个问题。
表单正在提交并由控制器接收。它意识到页面上有错误并尝试重新显示视图。它无法重新显示视图,因为它需要未提交的字段,即仅显示一些数据的表。
我的问题是,如何让视图提交包含模型数据的表。
为了清楚起见,这就是正在发生的事情:
1.模态对话框提交按钮按下
2.提交可编辑的表单数据<----我要提交不可编辑的数据
3.Controller验证模型
4.验证失败
5.Controller将模型返回给视图
6.View无法显示,因为部分数据丢失
这是我要提交的不可编辑的数据
@foreach (var hour in Model.Hours)
{
<tr>
<td>@hour.CreatedBy</td>
<td>@hour.WorkingStart</td>
<td>@hour.HourComment</td>
<td>@hour.SecondsUsed</td>
</tr>
}
该模型:
public TaskEditAVwTask Task { get; set; }
public int numdays { get; set; }
public string firstday { get; set; }
public string lastday { get; set; }
public float taskhoursused { get; set; }
public List<TaskEditAVwHour> Hours { get; set; }
主要问题是视图需要这些数据重新显示自己。
当验证失败时,我可以从数据库中获取数据,但我认为这应该是最后的手段。
抱歉,如果这不是很清楚,我已尽力使其尽可能清楚。