我有一个带有母版页的 aspx 页面。母版页包含 asp:ScriptManager。aspx 页面的 ajaxToolkit:CalendarExtender 已退出更改文本框中日期的月份。加载页面时,与扩展器关联的文本框会填充来自数据库的信息。
这个 aspx 页面是几个月前创建的,并且运行良好。在更新过程中,我不得不在它的末尾添加几个额外的 div,日历扩展器继续按预期工作了几个星期。昨天,当在日历控件中选择了不同的日期时,它决定不更改文本框中的月份。我所做的更改与扩展器或它所在的区域无关,所以我完全不知道是什么导致了问题。
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false"
Inherits="Quote.Edit" Title="Quote - Edit Information"
CodeBehind="Rate.aspx.vb" %>
<%@ Register Src="TabsControl.ascx" TagName="TabsControl" TagPrefix="uc1" %>
<asp:Content>...several other Contents here...</Content>
<asp:Content ID="Content4" ContentPlaceHolderID="MainPlaceHolder" runat="server">
<asp:UpdatePanel ID="upContent" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False">
<ContentTemplate>
<div>...several other divs here...</div>
<div class="other=container">
<asp:UpdatePanel ID="upEdit" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False">
<ContentTemplate>
<div id="EditArea" runat="server">
<table class="general">
<tr>...several other rows here...</tr>
<tr><td colspan="2>
<asp:Label id="lblEffDate" runat="server" AssociatedControlID="txtEffDate" Text="Effective Date" />
<div>
<asp:Textbox ID="txtEffDate" runat="server" Width="100" CssClass="notfirst" AutoPostBack="true" />
<asp:Image ID="imgCal" runat="server" ImageUrl="images/Calendar_scheduleHS.png" CssClass="top3" />
</div>
<ajaxToolkit: CalendarExtender ID="ceEffDate" PopupButtonID="imgCal" TargetControlID="txtEffDate" Animated="false" runat="server" Format="mm/dd/yyyy" />
<ajaxToolkit: MaskedEditExtender ID="meEffDate" runat="server" MaskType="Date" TargetControlID="txtEffDate" Mask="99/99/9999" />
</td></tr>
<tr>...several other rows here...</tr>
</table>
</div>
<div>...several other divs here...</div>
</ContentTemplate>
</UpdatePanel>
</div>
</ContentTemplate>
</UpdatePanel>
</Content>
在此之前和之后有大量代码,但这是日期控件所在的区域。
唯一涉及的代码隐藏是从数据库中获取信息并将其加载到文本框。当您使用日历扩展器更改日期时,月份在文本框中保持不变(日期和年份将更改。)