Пользовательский элемент управления календаря AJAX Кнопка «Далее» и «Назад» Проблема

Я создал Ajax Calender Extender в качестве пользовательского элемента управления и использовал его на разных страницах. Моя проблема с пользовательским элементом управления календарем заключается в том, что когда я нажимаю кнопки «Далее» и «Предыдущий» в календаре, он не переходит к предыдущему месяцу или следующему месяцу.

Версия AJAX: 4.1.40412.2.

Календарь AJAX CSS:

.ajax_календарь { позиция: относительная; слева: 0px !важно; сверху: 0px !важно; видимость: видимая; дисплей: блок; цвет фона: красный; } .ajax_calendar iframe { left: 0px !important; сверху: 0px !важно; }

Вот мой пользовательский контроль:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCCalender.ascx.cs"
Inherits="test.Web.Pages.UserControls.UCCalender" %>

‹%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxControl" %>

<div style="position:relative;border:solid 1px red;">
<asp:TextBox ID="txtDate" MaxLength="10" CssClass="txtBox medium" ToolTip="DD/MM/YYYY"
    Style="width: 85px;" Font-Size="11px" runat="server"></asp:TextBox>
<asp:ImageButton ImageUrl="~/Resources/Images/calendar.gif" ID="imgCalender" runat="Server"
    BorderWidth="0" ImageAlign="absmiddle" />
<ajaxControl:CalendarExtender ID="AjaxCalenderCtrl" runat="server" Format="dd/MM/yyyy" PopupPosition ="TopLeft" 
    TargetControlID="txtDate" FirstDayOfWeek="Sunday" PopupButtonID="imgCalender">
</ajaxControl:CalendarExtender>
<ajaxControl:TextBoxWatermarkExtender WatermarkCssClass="watermark" ID="txtWaterMarkDate"
    runat="server" WatermarkText="DD/MM/YYYY" TargetControlID="txtDate">
</ajaxControl:TextBoxWatermarkExtender>
<asp:RegularExpressionValidator ID="regexpvalEndDateEdit" ErrorMessage="!" ValidationExpression="(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d"
    ControlToValidate="txtDate" runat="server"></asp:RegularExpressionValidator>
    </div>

И я использую тот же UserControl на страницах таким образом:

 <table id="inputDetails" style="padding: 0px; width: 700px;" cellpadding="0" cellspacing="0">

                            <tr>
                                <td style="width: 198px; position: relative" align="left">
                                    <asp:Label ID="lblBeginning" runat="server" Text="Beginning :" Style="margin-left: 10px;"></asp:Label>
                                    <asp:TextBox ID="tbxBeginCalendar" TabIndex="3" runat="server" Style="width: 85px;" Font-Size="11px"></asp:TextBox>


                            <asp:ImageButton ID="BeginCal" runat="server" ImageUrl= "~/Resources/Images/calendar.gif" />
                                  <uc1:UCCalender ID="UCCalStartDate" runat="server" />
                                </td>

                        </table>

Пожалуйста, предоставьте решение для этого сообщения.


person karthik k    schedule 11.03.2011    source источник


Ответы (2)


Эта проблема возникает при просмотре CalendarExtender в IE8. Вам нужно добавить следующий класс CSS, чтобы решить проблему: .MyCalendar .ajax__calendar_title { border: none; /* Исправлены кнопки «предыдущий» и «следующий» в заголовке всплывающего окна */ }

Это объясняется здесь: http://ajaxcontroltoolkit.codeplex.com/workitem/22894

person AMsaddi    schedule 28.03.2011

Я только что столкнулся с этой же проблемой. Похоже, это было вызвано тем, что я применил position:relative к родительскому элементу.

Добавление этого CSS устранило проблему для меня:

.ajax__calendar_prev, .ajax__calendar_next{z-index:1;}

Надеюсь, это поможет!

person DazzledKid    schedule 24.06.2011