将数据从Ajax呈现的部分视图中发布回控制器

发布于 2024-12-05 06:42:03 字数 550 浏览 1 评论 0原文

我正在从Ajax调用中返回部分视图:

$(document).ready(function () {
$("#itemSubmitter").click(function (e) {
    $.ajax({
        url: '@Url.Action("GetShippingAddress", "Order")',
        type: "POST",
        cache: false,
        success: function (data) {

            $("#shoppingAddressWrapper").html(data);

        }
    });
});
});

这将返回预期的视图。但是,部分具有几个文本框,其中已经填充了数据。 #shoppingaddresswrapper在表单标签中。

当我提交表单时,部分文本框中的值不是request.params集合的一部分。

这是正常的吗?您不能作为通过AJAX调用呈现的部分视图的一部分返回输入框,然后将数据发布到服务器并检索值?

c

I am returning a Partial View from an Ajax call:

$(document).ready(function () {
$("#itemSubmitter").click(function (e) {
    $.ajax({
        url: '@Url.Action("GetShippingAddress", "Order")',
        type: "POST",
        cache: false,
        success: function (data) {

            $("#shoppingAddressWrapper").html(data);

        }
    });
});
});

This returns the View as expected. However, the Partial has several Textboxes with data already populated. The #shoppingAddressWrapper is within a Form Tag.

When I submit the Form, the values in the Textboxes on the partial are not part of the Request.Params collection.

Is this normal? Can you not return input boxes as part of Partial View rendered via Ajax call and then post that data to the server and retrieve the values?

C

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怪我入戏太深 2024-12-12 06:42:03

我已经找到问题所在了。
您需要清除文本框的模型状态。

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

您可以仅清除所需的值,也可以清除所有值。否则,ajax 机制会将旧值插回。

I have found what the problem is.
You need to clear the model state for the text boxes.

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

You can clear just the values you need, or all the values. The ajax mechanism will otherwise insert the old values back.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文