Использование jQuery для отправки обратно в контроллер - PullRequest
0 голосов
/ 02 июня 2011

Я использую jQuery для отправки обратно на мой контроллер, но мне интересно, как вы передаете значения в качестве параметров в ActionResult. Например:

У меня есть пост jQuery:

$.post("Home\PostExample")

но я бы хотел включить значение из выпадающего меню:

@Html.DropDownListFor(m => m.Example, Model.Example, new { @id = "exampleCssId" })

в результате действия:

[HttpPost]
public ActionResult PostExample(string myString)
{
    //TODO: Write contents of ActionResult
}

Любая помощь будет оценена.

Спасибо.

Ответы [ 3 ]

4 голосов
/ 02 июня 2011

Я думаю, что это должно работать:

$.post("Home/PostExample", { myString: $("#exampleCssId").val() } );
1 голос
/ 02 июня 2011

Добавляя ответ Греги, вы также можете использовать функцию обратного вызова, если хотите вернуть некоторые данные из метода действия и отобразить их пользователю.

 $.post("Home/PostExample", { myString: $("#exampleCssId").val() }, function(result){    
     alert(result);    
});
1 голос
/ 02 июня 2011

Вот пример из того, что я недавно сделал:

function SaveNewGoal() {
    var data = { Name_E: $("#NewGoal #Name_E").val(),
        Name_F: $("#NewGoal #Name_F").val(),
        Desc_E: $("#NewGoal #Desc_E").val(),
        Desc_F: $("#NewGoal #Desc_F").val()
    };

    $.ajax({
        url: '@Url.Action("CreateJson", "Goal")',
        data: JSON.stringify(data),
        success: SaveNewGoalSuccess,
        error: SaveNewGoalError,
        cache: false,
        type: 'POST',
        contentType: 'application/json, charset=utf-8',
        dataType: 'json'
    });
}

function SaveNewGoalSuccess(data, textStatus, jqXHR) {
    $("#NewGoalContainer").hide();
    // reload the goal list
    ReloadGoals();
}

function SaveNewGoalError(jqXHR, textStatus, errorThrown) {
    $("#NewGoalResult").text("Error: " + jqXHR.responseText);
}
...