从ASP获取SelectedDate时出错:日历,对象引用未设置为对象的实例

时间:2014-02-10 17:11:13

标签: c# asp.net calendar

我的代码中有<asp:Calendar>,我想要的是,当点击日期时,它会在页面上显示所选日期。

 protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
    Label1.Text = "The selected date is " + Calendar1.SelectedDate.ToShortDateString();
}

我遵循了here, Microsoft's website的代码说明。

但是我收到了这个错误。

  

System.NullReferenceException:未将对象引用设置为对象的实例。

2 个答案:

答案 0 :(得分:1)

原因是你在ContentPlaceHolder中有你的Label1。当.aspx子页面使用该占位符时,标签将从母版页中删除。因此,在SelectionChanged事件中,它找不到您的Label1。

将您的Label移出mainContent ContentPlaceHolder

答案 1 :(得分:0)

我复制了您粘贴的相同代码,并为我工作。我正在Selection_Changed事件上正确获取日期。     protected void Calendar1_SelectionChanged(object sender,EventArgs e)         {             string tst = Calendar1.SelectedDate.ToShortDateString();         }

如果您的asp:Calendar控件位于UpdatePanel中,则会出现您提到的错误。