模型不通过javascript更新

时间:2013-04-11 11:03:55

标签: asp.net-mvc-3

我有一个MVC视图,我从中打开一个JQuery对话框。然后从这个JQuery对话框中打开另一个JQuery对话框。

我使用ajax调用将数据从视图传递到第一个对话框。我在第一个对话框视图上显示此数据。该视图是只读的。我从第一个对话框打开另一个对话框,并使用ajax调用传递数据。第二个视图修改数据。

当我提交第二个表单/对话框时,我调用了一个javascript方法updateData

@using (Ajax.BeginForm("SaveData", "GenericData", new AjaxOptions{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "updateData"}, new { @id = "Adddt", enctype = "multipart/form-data" }))

在这个javascript方法中,我得到了从第二个对话框发送的修改数据。所以我将第一个对话框的HTML元素修改为:

function updateData(data)
{
    //set the grid values
    document.getElementById('tdnewdate').innerHTML = data.Object.DateFound;                     
     //set the model data
    document.getElementById('txtnewdate').value = data.Object.DateFound; 
}

第一个对话框视图包含如下代码:

<td id="tdnewdate” >
@Model.DateFound
</td>
<td>
@Html.TextBoxFor(model => @Model.DateFound, new { id = "txtnewdate", style = "display:none" })
</td>

第一个语句修改表单HTML元素以显示修改后的值。 但是第二个语句应该修改模型。

现在,当我提交第一个对话框时,我可以看到模型已被修改。 但是,当我尝试再次编辑第一个对话框时,我得到的是原始模型值,而不是修改过的值。

任何人都可以建议我做错了什么。

谢谢,

0 个答案:

没有答案