Если вы ищете Datepiker, который вызывается и отображается в каждом поле даты в сетке, то вызов календаря JavaScript является наиболее эффективным. Проверьте календарь JQuery UI и просто вызовите каждое поле - см .: jqueryui.com/demos/.
HTML - обратите внимание, что класс один и тот же, а идентификатор другой:
<input type="text" class="datepicker" id="d1" />
<input type="text" class="datepicker" id="d2" />
JQuery затем выбирает класс css:
$(.datepicker.each(function() {
$(this).datepicker();
});
Более старое решение ASP.Net предназначено для объявления и динамического создания элемента управления на сервере, когда срабатывает даже щелчок. Есть много примеров этого на многих блогах. Или 20 из них могут быть созданы при загрузке страницы и помещены в сетку данных или что-то еще. Но что если сетка данных имеет 100 записей? Это не может масштабироваться.
Но в наборе инструментов управления AJAX есть календарь, который создается один раз на панели, а затем эта панель отображается там, где вы говорите. Это один календарь, показанный много раз.
<asp:Panel ID="panelCal" runat="server">
<asp:UpdatePanel ID="update" runat="server">
<ContentTemplate>
<asp:Calendar ID="theonlyCal"runat="server"/>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
Теперь скажем, что есть 20 строк:
<asp:TextBox ID="twenty" runat="server" />
Теперь для каждого текстового поля требуется расширение всплывающего элемента управления.
<ajaxToolkit:PopupControlExtenderID="twentExtenders"runat="server"
TargetControlID="twenty"
PopupControlID="panelCal"
Position="Bottom" />
ASP.NET AJAX может использовать большую пропускную способность.