我的代码中有<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:未将对象引用设置为对象的实例。
答案 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中,则会出现您提到的错误。