Вызов определенного метода (не Action) из представления MVC Asp.net на событие при изменении html.dropdownlist - PullRequest
0 голосов
/ 29 октября 2018

В моем проекте ASP.NET MVC у меня есть список данных, сохраненных в ViewBag, я заполняю drop-down от того, где родительский идентификатор равен нулю, затем выбираю значение из этого выпадающего списка и выбираю данные, содержащие их parent_id идентификатора выбранного значения и заполните другой раскрывающийся список.

Примечание. Я сохранил эти данные в сеансе.

Я не хочу делать двойной вызов для повторной выборки данных, поэтому я хочу сделать private method внутри controller и хочу вызвать это при изменении события в раскрывающемся меню и загрузить данные из ViewBag

Или любой может предложить самый быстрый способ, сделав это с ajax / jquery.

1 Ответ

0 голосов
/ 29 октября 2018
$('#parents').change(function() {
    var el = $(this),
        parent_id = el.val();

    $.getJSON('@Url.Action("GetSomeList", "MyController", new {parent_id = paren_id})', function (data) {
        var ddl = $('#ddlChildDropDown');
        $.each(data, function (i, v) {
          ddl.append($('<option />', { text: v.SomeValue, value: v.SomeID}))
        })
    })
});

тогда в вашем контроллере

public JsonResult GetSomeList(int parent_id)
{
    var repo = new DataBaseReop()
    var my_list = repo.getListData(parent_id); // produces a list with SomeID and SomeValue

    return Json(my_list, JsonRequestBehavior.AllowGet);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...