1

我正在从 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

4

1 回答 1

1

我发现了问题所在。您需要清除文本框的模型状态。

if (Request.IsAjaxRequest())
    ModelState.Clear();

您可以只清除您需要的值,也可以清除所有值。否则,ajax 机制将插入旧值。

于 2012-01-24T04:33:25.290 回答