Использование AJAX с asp: Календарь - PullRequest
0 голосов
/ 02 июня 2011

Абсолютно новичок в программировании на .NET (и AJAX), но я некоторое время работал над этой программой. Многие вещи, которые я излагаю в этом вопросе, могут не иметь смысла, поэтому, пожалуйста, исправьте меня там, где у меня нет понимания.

Сейчас у меня есть ASP: календарь, который имеет это свойство: OnSelectionChanged = "SelectionChanged". Таким образом, метод SelectionChanged вызывается на сервере, когда пользователь нажимает на календарь. Но это требует обратной передачи, которая сумасшедшая медленно - с точки зрения моей программы, нет необходимости вовлекать сервер на этом этапе; клиент может справиться со всем.

Так что я бы хотел справиться с этим с помощью JavaScript. Есть какой-то способ щелкнуть asp: Calendar, чтобы вызвать кусок кода JavaScript. Я делаю это с каким-то расширением ajax? Или есть другой способ?

Ответы [ 2 ]

1 голос
/ 02 июня 2011

Я использовал jQuery datepicker , который раньше не делал обратной передачи при выборе даты.

0 голосов
/ 02 июня 2011

Ну, вы можете использовать стандартные элементы управления .NET AJAX, они довольно просты в реализации ....

По сути, вам нужно сначала включить менеджер разметки в вашу разметку, ничего сложного в этом нет. Просто убедитесь, что это в тегах.

Вы хотите обернуть ту часть своей страницы, которую хотите, чтобы она была доступна, в постбэк AJAX в тег UpdatePanel. Для панели обновления потребуется ContentTemplate, куда отправляется весь фактический контент вашей страницы. Также потребуется тег Trigger, в котором вы указываете элементы управления и события, которые вы хотите запустить при обратной передаче. Любой элемент управления, для которого вы хотите запустить обратную передачу AJAX, должен иметь для свойства AutoPostBack значение true.

Вот базовый макет:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:Label runat="server" ID="UpdateMe"/>
<asp:TextBox runat="server" ID="AjaxTextBox" AutoPostBack="true" OnTextChanged="AjaxTextBox_TextChanged/>
</ContentTemplate>

<Triggers>
<asp:AsyncPostBackTrigger ControlID="AjaxTextBox" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>

Теперь, в эти дни я не думаю, что это предпочтительный метод ведения дел. Большинство веб-разработчиков используют для этого методы AJAX jquery, но я полагаю, что это быстрый и простой способ начать работу. Методы Jquery AJAX совсем не сложны. Конечно, стоит кое-что еще изучить ... но я не предпочитаю использовать элементы управления, такие как Calendar, с Jquery AJAX. Для этих случаев я использую элемент управления календарем jquery-ui. Стоимость преобразования и проверки даты и времени минимальна по сравнению с работой с сильно настроенными элементами управления .NET, смешанными с Jquery AJAX.

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