使用jQuery / Ajax呈现带有对象模型的部分视图

3

我的当前代码如下:

<!-- some html -->
{
    // some code
    @Html.Partial("~/Views/AdminUser/Main.cshtml", Model.AdminUserModel)
}

然而,我希望这是一个ajax调用。我该如何使用jQuery发起ajax调用并将模型包含在调用中?


你可以通过使用带有URL查询参数的Ajax调用来实现。根据查询字符串设置变量。 - fassetar
问题在于该解决方案的模型可能非常庞大。主要需要知道如何传递模型。 - Kevin Scheidt
我在想你是否可以让ajax调用包含模型的json(stringify?)版本,并在后端将模型放回对象中?不太确定如何实现。 - Kevin Scheidt
1个回答

3

我是通过一个ajax调用并传递id来完成的:

$.ajax({
    url: "@(Url.Action("Action", "Controller", new { id = "----" }))/".replace("----", id),
    type: "POST",
    cache: false,
    async: true,
    success: function (result) {
         $(".Class").html(result);
    }
});

然后在你的控制器中,设置如下操作:

public PartialViewResult Action(string id)
{
     //Build your model
     return PartialView("_PartialName", model);
}

如果您需要通过ajax将模型传递给控制器,可以创建一个与模型具有相同字段的jQuery对象,并对其进行字符串化和传递,这样它就能正确传递。
var toSend = {};
toSend.ID = id;
toSend.Name = name; 

等等,然后在ajax调用中

data: JSON.stringify(toSend),

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接