如何从asp:calendar获取新选择的日期

时间:2014-03-05 22:46:43

标签: jquery asp.net calendar autopostback

所以我制作了一个asp:日历,我希望在回复后访问下一页上的新选择日期。

我使用的代码是:

<asp:Calendar ID="calEndDate" runat="server"></asp:Calendar>

Request.Form[calEndDate.UniqueID]

它总是返回null。我能够检索所选日期,但这将给我之前选择的日期,而不是新日期。

当鼠标悬停在'calEndDate'上时,我得到的信息是:

calEndDate = {SelectedDate = The name 'SelectedData' does not exist in the current context}

对此的任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

使用Calendar控件的OnSelectionChanged事件,而不是在Page_Load上,将您选择的日期设为:

<asp:Calendar ID="calEndDate" runat="server" 
     OnSelectionChanged="SelectedDate_Change">
</asp:Calendar>

并且您的选择更改事件如下:

void SelectedDate_Change(Object sender, EventArgs e) 
      {
         Label1.Text = calEndDate.SelectedDate.ToShortDateString();
      }

您正在使用的Calendar控件是一个asp.net服务器控件,因此使用其ID直接访问它,如上面的代码片段而不是使用Request.Form