#asp.net #html #ajax #visual-studio
#asp.net #HTML #ajax #visual-studio
Вопрос:
У меня есть расширитель календаря на одной странице, и он отлично работает. Помещен в панель с менеджером скриптов, проблем нет. Однако на другой странице aspx, использующей тот же формат, несмотря на то, что мой диспетчер сценариев находится в том же положении, расширитель календаря недоступен. В сообщении об ошибке сообщается, что расширитель календаря не является известным элементом. Почему? Приведенный ниже код для обоих экземпляров.
Хорошая страница:
<asp:Panel ID="Panel1" runat="server" BorderWidth="4px" BorderStyle="Solid" CssClass="myPanelCss" Width="700px">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Table runat="server" Width="700px">
<asp:TableRow VerticalAlign="Top">
<asp:TableCell>`<asp:TextBox ID="TbEffectiveDate" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="TbEffectiveDate_CalendarExtender" runat="server"
TargetControlID="TbEffectiveDate">
</asp:CalendarExtender>`
Плохая страница:
<asp:Panel ID="SubPanel" CssClass="myPanelCss" BorderWidth= "4px" BorderStyle="Solid" runat="server" Width="593px">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Table runat="server" HorizontalAlign="Center" Width="567px">
<asp:TableRow>
<asp:TableCell><asp:TextBox ID="TbEffectDate" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="TbEffectDate_CalendarExtender" runat="server"
TargetControlID="TbEffectDate">
</asp:CalendarExtender>
Комментарии:
1. Быстрый ответ: мне пришлось использовать ToolkitScriptManager на второй странице. Теперь расширитель работает нормально. Мой вопрос: почему не на первой странице?
Ответ №1:
Я думаю, что вы забыли объявить инструментарий вверху страницы
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
и лучше объявить это как
<ajaxToolkit:CalendarExtender
Комментарии:
1. Возможно, лучше как <AjaxToolkit: … , но полностью функциональный, как сейчас, с scriptmanagers, объявленными в их соответствующих панелях. Теперь просто любопытно, потому что при, казалось бы, идентичных условиях одному понадобился toolkit manager, а другому нет.