将javascript模型传递给控制器

时间:2014-10-08 14:47:17

标签: c# jquery asp.net ajax asp.net-mvc

我无法弄清楚我在这里缺少什么。我有一个javascript模型,我在这里构建它是一个愚蠢的版本。有谁知道为什么我的模型没有通过数据传递给我的控制器?

正在构建的Javascript模型:(这确实填充正确)

var myModel = {
    ThresholdDetailId: thresholdDetailID,
    ThresholdId: thresholdId,
    OwnerName: ownerName,
    SelectedNodeType: selectedNodeType,
    GroupID: groupId
}

Ajax电话:

$.ajax(
{
    context: this,
    type: 'post',
    url: '/Threshold/EditThreshold/',
    data: { model: myModel },
    success: function (result) {
        //do stuff
    },
    error: function () {
        error();
    }
});

每当动作在控制器上被击中时,模型都是空的。

这是签名:

[HttpPost]
public JsonResult EditThreshold(ThresholdDetail model)
{
    //Do Stuff
}

1 个答案:

答案 0 :(得分:2)

不要将myModel包装在具有model属性的外部对象中(除非您最终绑定的视图模型设置方式相同,这似乎不太可能):

$.ajax({
    context: this,
    type: 'post',
    url: '/Threshold/EditThreshold/',
    data: myModel, // <-------
    success: function (result) {
        //do stuff
    },
    error: function () {
        error();
    }
});