Создайте три каскадных выпадающих списка с Ajax в MVC - PullRequest
1 голос
/ 07 апреля 2009

У меня есть три раскрывающихся списка, каждый из которых зависит от предыдущего.

Как это возможно с помощью MicrosoftAjax и веб-сервисов?

Я также хочу выбранное значение в режиме редактирования.

Я видел tip41 Стивена Вальтера.

Но у меня есть ошибка при каждом просмотре, т.е.

 <%= Html.DropDownList("--Select Make--", "Makes") %>

что CS1061: «System.Web.Mvc.HtmlHelper» не содержит определения для «DropDownList» и не найден метод расширения «DropDownList», принимающий первый аргумент типа «System.Web.Mvc.HtmlHelper» вам не хватает директивы using или ссылки на сборку?)

Так в чем же причина? я использую MVC 1.0.

1 Ответ

1 голос
/ 07 апреля 2009

Я думаю, что у вас есть название / метка опции. Вы также можете попробовать использовать подпись с параметром значения в нем. Однако я не уверен, почему у вас возникла проблема с компиляцией, поскольку существует версия расширения, которая принимает два строковых параметра. Документы можно найти на MSDN.

<%= Html.DropDownList( "Makes",
                       "--Select Make--" ) %>

OR

<%= Html.DropDownList( "Makes",
                       (IEnumerable<SelectListItem>)ViewData["Makes"],
                       "--Select Make--" ) %>

Для каскадных выпадающих списков вы можете вместо этого использовать jQuery и получить пары ключ-значение JSON для следующего меню на основе выбора в первом. Добавьте обработчик onChange к выборкам и выполните AJAX get / post для действия в вашем контроллере, чтобы получить новые значения. Я создаю список пар ключ-значение и возвращаю его в JsonResult. В обработчике успеха запроса ajax я беру этот результат и заменяю содержимое соответствующего выбора новыми параметрами, используя возвращенный JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...