Ajax Control Toolkit Элемент управления календаря не работает в DetailsView EditItemTemplate - PullRequest
2 голосов
/ 14 декабря 2011

У меня есть DetailsView с кучей EditItemTemplates. У одного из них есть текстовое поле, которое принимает даты. Чтобы сделать форму более удобной для пользователя, я хотел добавить элемент управления календарем Ajax, чтобы пользователь мог выбрать дату из календаря. Я продолжаю получать сообщение об ошибке при попытке загрузить страницу.

Сообщение об ошибке Parser: неизвестный тег сервера 'ajc: Calendar'.

Мой регистрационный тег правильный.

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajc" %>

Мой EditItemTemplate выглядит следующим образом. Ничего особенного.

 <EditItemTemplate>
       <asp:TextBox ID="txtGrantedDate" runat="server" Text='<%#  Bind("GrantedDate") %>' />
       <ajc:Calendar  PopupPosition="Right" runat="server"
              TargetControlID="txtGrantedDate"
              Format="MMMM d, yyyy" SelectionMode="Day"
              PopupButtonID="imgGrantedDate" ></ajc:Calendar>
       <asp:Image ID="imgGrantedDate" runat="server" Width="20px" Height="20px" AlternateText="calendar" ImageUrl="~/Images/calendar.png" />
 </EditItemTemplate>

Где я могу ошибаться, и допускаются ли элементы управления ajax даже в элементах управления DetailsView?

1 Ответ

4 голосов
/ 14 декабря 2011

Ну, это было глупо.Если вы, ребята, столкнетесь с этой проблемой, правильный серверный тег для расширителя календаря будет

<ajc:CalendarExtender> 

Не

<ajc:Calendar>

Вы спросите причину путаницы?Хорошо получается, что примеры в наборе инструментов управления Ajax содержат следующее:

<ajaxToolkit:Calendar runat="server"
    TargetControlID="Date1"
    CssClass="ClassName"
    Format="MMMM d, yyyy"
    PopupButtonID="Image1" />

Вы можете посмотреть на это сами:

Расширение календаря Ajax Control Toolkit

Разверните раздел Свойства календаря, и вы увидите код, который я скопировал выше.

...