Asp.net 在ascx中分配事件处理程序与在codebehind中分配事件处理程序之间有什么真正的区别吗?
以下各项之间是否存在行为差异:Asp.net 在ascx中分配事件处理程序与在codebehind中分配事件处理程序之间有什么真正的区别吗?,asp.net,Asp.net,以下各项之间是否存在行为差异: <asp:Repeater ID="myRepeater" runat="server" OnItemDataBound="myRepeater_ItemDataBound"> </asp:Repeater> 不,执行没有区别,因为实际上,当您在ascx中分配它时,它实际上是在.designer.cs文件(假设您使用的是设计器)或编译的临时文件(如果使用后台编译)的“幕后”中写入代码的 他们都做同样的事情。但是aspx版本可以由GUI设计
<asp:Repeater ID="myRepeater" runat="server" OnItemDataBound="myRepeater_ItemDataBound">
</asp:Repeater>
不,执行没有区别,因为实际上,当您在ascx中分配它时,它实际上是在.designer.cs文件(假设您使用的是设计器)或编译的临时文件(如果使用后台编译)的“幕后”中写入代码的
他们都做同样的事情。但是aspx版本可以由GUI设计器处理。根据页面生命周期,在ascx和codebehind中分配事件处理程序没有区别 初始化所有控件后页面提升的
Page_Init
。因此,用户控件也是页面的控件
请查看MSDN上的详细信息。如果在代码隐藏中指定了私有方法,则可以使用私有方法。不能在aspx/ascx中分配私有方法。我想到了这一点
protected void Page_Load(object sender, EventArgs e)
{
myRepeater.ItemDataBound += new RepeaterItemEventHandler(myRepeater_ItemDataBound);
}