【问题标题】:Calendar inside modalpopup won't updatemodalpopup 中的日历不会更新
【发布时间】:2014-06-20 05:51:53
【问题描述】:

我在 modalpopup 中有一个日历。

我的目标是:

  1. 突出显示选定的日期/秒
  2. 在列表中添加这些日期
  3. 在网格视图中显示这些日期

代码执行目标 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

【问题讨论】:

    标签: asp.net vb.net calendar modalpopupextender


    【解决方案1】:

    这有点傻,但经过一些试验,我意识到错误是在更新面板条件下。我只是将它设置为“UpdateMode:“Always””并且它起作用了。

    【讨论】:

      猜你喜欢
      • 2017-08-17
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多