1

我有一个包含以下内容的视图:

(...)

<div id="txtMan@(item.ManufacturerId)" hidden>
    @Html.TextBoxFor(modelItem => item.ManufacturerName, new { @id = "txtBoxMan"+item.ManufacturerId })
</div>
<td>
    <input class="btnSave" id="btnSave@(item.ManufacturerId)" type="button" value="Save" onclick="saveButtonPressed(@item.ManufacturerId);" hidden />
</td>

(...)

对应的 JavaScript:

saveButtonPressed = function (id) {
    var newManName = $('#txtMan' + id).val();

    $.ajax({
        type: "POST",
        async: true,
        url: '/Admin/BrandConfigurationNameUpdate/' + newManName,
        dataType: "json",
        success: function () {
            alert('Added');
        }
    });
}

和控制器:

public static void BrandConfigurationNameUpdate(string id)
{ 

}

我的目标是将文本框值保存到数据库中。但是,我在我的控制器中放置了一个断点,它永远不会到达它。有什么建议吗?

编辑:我尝试过使用 GetJSON,但仍然无法正常工作。这是代码:

saveButtonPressed = function (id) {
    var newManName = $('#txtBoxMan' + id).val();
    alert(newManName);
    var URL = "~/Areas/Admin/Controller/Admin/BrandConfigurationNameUpdate/";

    $.getJSON(URL, { "id": id, "newManName": newManName }, function (data) {
        alert("finished");
    });
}
4

1 回答 1

3

您必须将data选项作为对象(键值对)传递,否则不会发布该值:

saveButtonPressed = function (id) {
    var newManName = $('#txtMan' + id).val();

    $.ajax({
        type: "POST",
        async: true,
        url: '/AdminController/BrandConfigurationNameUpdate/',
        data : {newManName : newManName},
        dataType: "json",
        success: function () {
            alert('Added');
        }
    });
}
于 2013-03-19T18:02:03.000 回答