Возможно ли (или что-то подобное) отключить элемент управления кнопки из элемента управления календаря, когда выбор изменяется на стороне клиента?

Я не уверен, возможно ли это, но я ищу решение, которое дало бы подобный эффект. У меня есть элемент управления календаря на странице asp.net (C#) вместе с кнопкой.

Вот некоторая предыстория о том, как работает страница: Когда пользователь выбирает диапазон дат, появляется обратная запись, которая показывает данные, а также заполняет несколько раскрывающихся списков данными, относящимися к выбранным диапазонам дат. Раскрывающиеся поля используются для фильтрации данных, например, пользователь может выбрать конкретного клиента для просмотра данных. После того, как пользователь выберет фильтры в раскрывающихся списках, он нажмет кнопку, чтобы обновить страницу с отфильтрованными данными. В качестве альтернативы, если они не выбрали дату и нажата кнопка, предполагается, что выбранный диапазон дат будет этой неделей. Кнопка нужна, потому что мы предпочли бы не делать несколько вызовов базы данных, если пользователь хочет использовать более одного фильтра из раскрывающихся списков.

С учетом сказанного я хочу иметь возможность запретить каждому из этих элементов управления перезвонить другому сообщению, если оно уже выполняется для другого элемента управления. Я видел отключение кнопки, выполнив это:

                <asp:Button ID = "ShowDataButton" runat="server"  
                OnClientClick="this.disabled = true;"
                UseSubmitBehavior = "false"
                onclick="ShowDataButton_Click"
                Text = "Show Data"/>

Существует ли аналогичное свойство для элемента управления Calendar, которое позволило бы мне отключить элемент управления Button? Что-то вроде, OnClientSelectionChanged = "ShowDataButton.disabled = true;" Из того, что я исследовал до сих пор, я не слишком надеюсь, что это существует. Если это не так, есть ли другой способ, которым я мог бы сделать что-то подобное? Когда я пытаюсь добавить ShowDataButton.Enabled = false; к OnSelectionChanged Метод события в коде позади, кнопка не отключается до тех пор, пока не завершится обратная передача, чего я и ожидал. Если что-то подобное не происходит, управление календарем в конечном итоге возвращает DateTime.MinValue если пользователь выбирает дату, а затем сразу же нажимает кнопку (так как публикация назад занимает несколько секунд). Любые идеи или предложения будут с благодарностью.

1 ответ

Ваш OnClientClick свойство должно на самом деле вызывать клиентский JavaScript, а затем в JavaScript вам нужно будет выполнить любые действия, которые вы пожелаете (например, отключить кнопку, изменить ее стиль, чтобы скрыть ее и т. д.)

Другие вопросы по тегам