#javascript #jquery #asp.net-mvc #asp.net-mvc-4
#javascript #jquery #asp.net-mvc #asp.net-mvc-4
Вопрос:
Как правильно привязать выбранное значение к выпадающему списку, сгенерированному с помощью @Html.DropDownList из контроллера. т.е. Выбор выпадающего списка должен происходить со стороны контроллера. Вот как я сгенерировал выпадающий список.
@Html.DropDownList("CountryFilter", (IEnumerable<SelectListItem>)ViewBag.Coutries, "Select", new { id = "CountryFilter" })
Мой подход — я попытался обновить значение с помощью jquery с помощью селектора идентификаторов, но мне не удалось получить значение, которое нужно выбрать из контроллера в методе OnPageload следующим образом
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
$('#RoleFilter').val(@ViewBag.roleFilter.ToString());
});
Это сработало, когда я жестко запрограммировал значение следующим образом
$('#RoleFilter').val("3");
Но я не смог получить значение из ViewBag.
Моя проблема может быть решена двумя способами
- Использование Jquery
- Привязка значения непосредственно к выпадающему списку.
Комментарии:
1. Используйте консоль. войдите в то, что есть вместо значения.
2. Я попытался использовать консоль. журнал при загрузке страницы строка становится $(‘#RoleFilter’).val(«). @….. Значения игнорируются.
Ответ №1:
Если ваш код работал, когда вы жестко кодировали значение, тогда попробуйте приведенный ниже код для получения значения в ViewBag
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
$('#RoleFilter').val(@Html.Raw(@ViewBag.roleFilter.ToString())); //Accessing the Json Object from ViewBag
});