Как вызвать действие контроллера на стандартном html-событии в Asp.Net MVC? - PullRequest
0 голосов
/ 24 августа 2011

Общий вопрос: как вызвать Controller.Action и отправить ему некоторые параметры в стандартном html-событии (например, onblur или onclick).

Я использую Asp.Net MVC3.

Исходная ситуация: у меня на странице DropDownList вот так:

@Html.DropDownList("DropDownList", ViewBag.selectList as IEnumerable<SelectListItem>)

Я не хочу использовать @Html.DropDownListFor, потому что это означает, что я должен сохранить некоторую дополнительную информацию в моеммодель, которая маловероятна.

Что мне нужно: вызвать DropDownListSelectionChanged(int moduleId) действие того же контроллера SelectedIndexChanged событие и отправить значение выбранного элемента для этого действия.

Пожалуйста, помогите.

1 Ответ

3 голосов
/ 24 августа 2011

Все довольно просто. Вы можете использовать встроенный Ajax.BeginForm в MVC land или использовать jQuery для отправки запроса. Я покажу вам пример jQuery (просто потому, что jQuery делает глупым легко ajax и его легко написать):

 $('#myDropDownIdAttribute').change(function()
 {
     $.ajax({
        url: 'Some/ActionName', // SomeController, ActionName
        data: { selectedValue: $(this).val() },
        success: function()
        {
           // Success Callback
        }
     });
 });

Тогда ваш метод действия будет выглядеть так:

public ActionResult ActionName(string selectedValue)
{
    // Do Stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...