javascript - MVC 模型绑定(bind)无法通过 AJAX 请求工作

标签 javascript ajax json asp.net-mvc-3 model-binding

通过 AJAX 进行 MVC 模型绑定(bind)时遇到一些问题。

有人可以告诉我为什么 CreateTransfereeDetails 属性没有绑定(bind),它总是返回为“null”。

型号:

public class ResolveProfileSelectionRequiredModel
{
    public CreateTransfereeModel CreateTransfereeDetails { get; set; }

    public bool NewTransfereeSelected { get; set; }
}

public class CreateTransfereeModel
{
    [Display(Name = "Transferee Name:")]
    public string TransfereeName { get; set; }
}

HTML:

<input type="text" id="TransfereeName" />
<input type="hidden" id="NewTrasnfereeSelected" />

JavaScript:

var createTransfereeDetails =
{
    "TransfereeName": $("#TransfereeName").val()
};

$.ajax({
    url: "/myurl",
    dataType: "json",
    traditional: true,
    type: "POST",
    data: {
        CreateTransfereeDetails: createTransfereeDetails,
        NewTransfereeSelected: $("#NewTransfereeSelected").val()
    },
    success: function (result) {
        //
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        //
    },
    complete: function () {
        //
    }
});

谢谢!

最佳答案

在表单内的输入字段上使用名称属性名称属性的值会自动分配给模型的属性。

<form method="post" id="frm">
<input type="text" name="id="TransfereeName" " id="TransfereeName" />
<input type="hidden" name="NewTrasnfereeSelected"  id="NewTrasnfereeSelected" />
<input type="button" onclick="submit()" value="submit" />
</form>

并利用jquery的serialize()函数使用ajax传递数据

function submit(){
    $.ajax({
        url: "/myurl",
        dataType: "json",
        traditional: true,
        type: "POST",
        data: $('#frm').serialize(),
        success: function (result) {
            //
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
            //
        },
        complete: function () {
            //
        }
    });
}

关于javascript - MVC 模型绑定(bind)无法通过 AJAX 请求工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121458/

相关文章:

javascript - 从 JSON 中获取特定对象

javascript - 获取 JQuery ui.draggable 的属性

javascript - 在 Chrome DevTools 中使用 Closure Library

javascript - Jquery - Windows Load 如何保持更长时间

php - Javascript : Allow the user to write to session when submitting a form but without reloading the page

java - XPage:递归创建 JSON 字符串

javascript - 检测 WebP 支持

javascript - 使用 JavaScript 或 jQuery 延迟加载页面内容

jquery - $.getJSON 请求上没有 'Access-Control-Allow-Origin' header

javascript - 在 Angular 中绑定(bind) JSON 数据