gpt4 book ai didi

asp.net-mvc - 如何在 jQuery $.ajax() post 请求中将模型发送到 MVC Controller 方法

转载 作者:行者123 更新时间:2023-12-03 21:28:22 24 4
gpt4 key购买 nike

在使用以下代码进行自动刷新时,我假设当我发布帖子时,模型将自动发送到 Controller :

$.ajax({
url: '<%=Url.Action("ModelPage")%>',
type: "POST",
//data: ??????
success: function(result) {
$("div#updatePane").html(result);
},

complete: function() {
$('form').onsubmit({ preventDefault: function() { } });

}
});

每次有帖子时,我都需要增加模型中的 value 属性:

public ActionResult Modelpage(MyModel model)
{
model.value = model.value + 1;

return PartialView("ModelPartialView", this.ViewData);
}

但是当使用 jQuery AJAX 请求发布页面时,模型不会传递到 Controller 。如何在 AJAX 请求中发送模型?

最佳答案

简单的答案(从 MVC 3 开始,甚至可能是 2)是您不必做任何特殊的事情。

只要您的 JSON 参数与模型匹配,MVC 就足够智能,可以根据您提供的参数构造一个新对象。不存在的参数只是默认的。

例如,Javascript:

var values = 
{
"Name": "Chris",
"Color": "Green"
}

$.post("@Url.Action("Update")",values,function(data)
{
// do stuff;
});

型号:

public class UserModel
{
public string Name { get;set; }
public string Color { get;set; }
public IEnumerable<string> Contacts { get;set; }
}

Controller :

public ActionResult Update(UserModel model)
{
// do something with the model

return Json(new { success = true });
}

关于asp.net-mvc - 如何在 jQuery $.ajax() post 请求中将模型发送到 MVC Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1518417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com