gpt4 book ai didi

jquery - ASP.NET MVC 模型与序列化绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 07:09:49 24 4
gpt4 key购买 nike

我正在使用 serializeJSON.stringify 方法对我的 ASP.NET MVC 应用程序进行 Ajax 调用。 MVC 无法绑定(bind)模型。

这是我的 JS 代码和强类型 View :

<script>
function saveDetails() {
jsonObj = $('#rdform').serialize();
$.ajax({
method: "POST",
url: "R/SaveDetail",
contentType: 'application/json; charset=utf-8',
dataType: "json",
data: JSON.stringify(jsonObj)
});
}
</script>

<form id="rdform">
<div>
<div>
@Html.LabelFor(m => m.LiIdH)
@Html.TextBoxFor(m => m.LiIdH)
</div>
<div>
@Html.LabelFor(m => m.LiIdR)
@Html.TextBoxFor(m => m.LiIdR)
</div>
</div>
<input type="button" onclick="saveDetails()" />
</form>

请求的有效负载如下所示:

"LiIdH=1&LiIdD=&LiIdR=2"

这是我的操作方法:

public bool SaveDetail(Detail detail)

我错过了什么吗?

最佳答案

您遇到麻烦的原因是您同时使用了序列化和 JSON.stringify。 form.serialize 返回一个字符串值,当传递给 JSON.serialize 时,该值会用一对额外的引号括起来。调用操作方法的最简单方法是删除对 JSON.stringify 的调用,并删除 ajax 调用的 contentType 选项并使用默认值,如下图:

<script>
function saveDetails() {
$.ajax({
method: "POST",
url: "R/SaveDetail",
dataType: "json",
data: $('#rdform').serialize()
});
}
</script>

关于jquery - ASP.NET MVC 模型与序列化绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30091436/

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