Asp.net 在加载页面之前应该调用已注册的操作事件,但它没有发生为什么?
在上面的事件中,我在页面加载和日历选择处使用了断点更改,当我单击日历上的任何日期时,它首先转到页面加载,然后转到日历1选择更改,而应该是相反的顺序Asp.net 在加载页面之前应该调用已注册的操作事件,但它没有发生为什么?,asp.net,datetime,calendar,Asp.net,Datetime,Calendar,在上面的事件中,我在页面加载和日历选择处使用了断点更改,当我单击日历上的任何日期时,它首先转到页面加载,然后转到日历1选择更改,而应该是相反的顺序 此外,当我签入属性时,所选日期也会出现问题,它会显示正确的日期,即今天的日期2011年1月29日。但当我打印它时,它会打印1/1/0001Load始终变为SelectionChanged(回发事件)。为什么您认为它们应该以相反的顺序出现?请查看以了解为什么在事件之前调用页面加载 删除响应。写入(Calendar1.SelectedDate);从您的页
此外,当我签入属性时,所选日期也会出现问题,它会显示正确的日期,即今天的日期2011年1月29日。但当我打印它时,它会打印1/1/0001
Load
始终变为SelectionChanged
(回发事件)。为什么您认为它们应该以相反的顺序出现?请查看以了解为什么在事件之前调用页面加载
删除响应。写入(Calendar1.SelectedDate);从您的页面加载事件并将其放置在Calendar1下。SelectedDate=DateTime.Now;一行代码,看看会发生什么。实际上,我在想,在将更改加载到第页之前,应该先记录这些更改?Post数据在加载事件之前加载,因此您的属性将具有加载事件时应具有的值,但是相关事件只是在事后引发的。感谢Matti Virkkunen的回答,但没有调用事件,而是如何调用在中所做的更改?@Matti Virkkunen:U是说在load事件中加载了属性,但在加载事件之后引发了事件,这让我很困惑,在事件中所做的更改之前如何注册这些已注册?@jagdeep:属性在
Load
事件之前加载。我建议你仔细看看@TheGeek给你的链接。1) 控件从POST数据加载其值2)引发加载
3)引发单击
和选择更改
等事件。事件本身与加载其数据的控件无关,事件只是为了通知您更改。请为第二次查询提供答案,感谢上次回答,并提前感谢下次回答。页面生命周期对此进行了解释。请参阅我的修订答案。
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Calendar1.SelectedDate);
}
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
Response.Write("1st");
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
Calendar1.SelectedDate = DateTime.Now;
}
}