我从Ajax调用返回一个部分视图:
$(document).ready(function () {
$("#itemSubmitter").click(function (e) {
$.ajax({
url: '@Url.Action("GetShippingAddress", "Order")',
type: "POST",
cache: false,
success: function (data) {
$("#shoppingAddressWrapper").html(data);
}
});
});
});
这将按预期返回视图。但是,Partial有几个已填充数据的文本框。 #shoppingAddressWrapper位于表单标记内。
当我提交表单时,部分文本框中的值不是Request.Params集合的一部分。
这是正常的吗?您是否可以将输入框作为通过Ajax调用呈现的部分视图的一部分返回,然后将该数据发布到服务器并检索值?
C
答案 0 :(得分:1)
我发现了问题所在。 您需要清除文本框的模型状态。
if (Request.IsAjaxRequest())
ModelState.Clear();
您可以只清除所需的值或所有值。否则,ajax机制将重新插入旧值。