Как изменить видимость элемента управления CascadingDropDown - PullRequest
1 голос
/ 22 января 2012

Каков предпочтительный метод изменения свойства видимости элемента управления .NET Ajax Control Toolkit CascadingDropDown?Я хотел бы сделать элемент управления "невидимым", когда значение null возвращается из запроса.

Похоже, что событие "OnSelectedIndexChanged" не запускается из <asp:DropDownList> при использовании расширителя набора инструментов.

1 Ответ

1 голос
/ 22 января 2012

Честно говоря, я бы просто нацелился на DropDownList, к которому прикреплен CascadingDropDownExtender в стиле display:none css. Вы можете сделать это в javascript на странице, как это:

<script type="text/javascript">
    function hideDDL(){
        // Get the DropDownList by its ID value
        var ddl = document.getElementById("<%= myDropDownList.ClientID %>");
        // If there are no items in the drop down, hide it
        if (ddl.options.length == 0)
            ddl.style.display = "none";
    }
</script>

И затем, в вашей DropDownList разметке, просто добавьте указанную выше функцию к клиентскому событию onchange:

<asp:DropDownList runat="server" ID="myDropDownList" onchange="hideDDL();" ... >
    ...
</asp:DropDownList>

Примечание. Очевидно, что вы захотите, чтобы логика в функции javascript указывала, должен ли DropDownList быть скрытым (например, проверка наличия элементов управления для выбора и т.д.) Если у вас есть проблемы с этим, дайте мне знать, и я могу попытаться помочь с этим тоже.
РЕДАКТИРОВАТЬ : я добавил возможный пример указанной логики =)

...