我在modalpopup中有一个日历。
我的目标是:
代码正在做目标2和3就好了。但是,每当我点击它们时,我选择的日期都不会突出显示。 但是当我关闭弹出窗口并再次打开时,现在突出显示之前选择的日期。
我尝试插入更新面板,但它仍无法正常工作。你知道如何解决这个问题吗?
提前感谢。
ASPX代码:
<asp:Panel ID="Panel2" runat="server">
<asp:UpdatePanel ID="UP_Calendar" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False" RenderMode="Inline">
<ContentTemplate>
<asp:Calendar ID="Calendar1" runat="server" BackColor="White"
BorderColor="Black" DayNameFormat="Shortest" Font-Names="Times New Roman"
Font-Size="10pt" ForeColor="Black" Height="220px" NextPrevFormat="FullMonth"
TitleFormat="Month" Width="412px" OnDayRender = "Calendar13_DayRender" OnSelectionChanged="Calendar13_SelectionChanged" >
<SelectedDayStyle BackColor="#CC3333" ForeColor="White" />
<SelectorStyle BackColor="#CCCCCC" Font-Bold="True" Font-Names="Verdana"
Font-Size="8pt" ForeColor="#333333" Width="1%" />
<TodayDayStyle BackColor="#CCCC99" />
<OtherMonthDayStyle ForeColor="#999999" />
<DayStyle Width="14%" />
<NextPrevStyle Font-Size="8pt" ForeColor="White" />
<DayHeaderStyle BackColor="#CCCCCC" Font-Bold="True" Font-Size="7pt"
ForeColor="#333333" Height="10pt" />
<TitleStyle BackColor="Black" Font-Bold="True" Font-Size="13pt"
ForeColor="White" Height="14pt" />
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
这是我的日期渲染代码:
Protected Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender
If e.Day.IsSelected = True Then
list_Days.Add(e.Day.[Date])
e.Cell.BackColor = Color.Orange
End If
Session("SelectedDates") = list_Days
SelectionChanged事件代码:
Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs)
If Session("SelectedDates") IsNot Nothing Then
Dim newList As List(Of DateTime) = DirectCast(Session("SelectedDates"), List(Of DateTime))
For Each dt As DateTime In newList
Calendar1.SelectedDates.Add(dt)
Next
list_Days.Clear()
End If
End Sub
答案 0 :(得分:0)
这有点傻,但经过一些试验,我意识到错误是在更新面板条件下。我只是将它设置为“UpdateMode:”始终“”并且它有效。