Вопрос

У меня есть два DropDownList.Первое видно, второе нет.Я хотел бы иметь что-то вроде этого:

  1. Выберите значение из первого DDL.
  2. Затем происходит частичный постбэк — данные извлекаются из БД на основе выборки.
  3. Второй DDL заполнен
  4. Второй DDL показан с помощью т.е.эффект слайда (Javascript)

Я не хочу иметь полную обратную передачу.Конечный эффект должен быть:

Выберите значение из первого DDL, а затем ниже, перемещается вниз по второму заполненному DDL.

Я понятия не имею, как начать.

Это было полезно?

Решение

Поскольку похоже, что вы используете веб-формы, первым шагом к решению вашей проблемы будет изучение элемента управления ASP.Net UpdatePanel и предоставляемых им параметров.

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

Тем не менее, небольшой совет: UpdatePanel на первый взгляд выглядит великолепно, но он отправляет по сети в 100 раз больше данных, чем необходимо, и быстро становится медленно работающим беспорядком, чем больше вы используете Ajax.Вы действительно можете запрограммировать себя в труднодоступных местах из-за проблем с производительностью, когда функциональность усложняется.

Я бы взглянул на отличные руководства на encosia.com о том, как использовать jQuery с веб-формами Asp.net, и посмотрел, сможете ли вы вместо этого изучить этот метод.UpdatePanel — не такой уж хороший инструмент, и вы будете поражены возможностями jQuery.

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

Также вы упомянули, что вам нужен эффект «слайда».Я думаю, что для этого вам придется погрузиться в работу с расширителями анимации ajax asp.net, а работать с этой структурой некрасиво и не приятно.

Другие советы

Вы можете начать с использования UpdatePanel.Вы можете обновить события, чтобы обновить только содержимое, включенное в UpdatePanel.

Официальная ссылка Обзор панели обновления ASP

Использование UpdatePanel — это простой способ получить поведение AJAX в ASP.NET.UpdatePanel будет обрабатывать большую часть AJAX за вас.

Вот хороший урок:

http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx

Вам следует посмотреть

Каскадное раскрывающееся меню

и использование jQuery, чтобы изменить div второго выпадающего списка, см. здесь

и соответствующий jQuery

<script type="text/javascript">
$(document).ready(function(){

$(".btn-slide").click(function(){
    $("#panel").slideToggle("slow");
    $(this).toggleClass("active"); return false;
});


});

Возможно, вам поможет каскадный раскрывающийся список из набора инструментов управления Ajax:
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/CascadingDropDown.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top