我正在使用ASP.NET 3.5并且我之前使用过1.1我很难找到哪里可以附加/声明页面init事件?
在1.1中,有自动生成的代码,它曾经有过初始化代码。我们可以在哪里添加页面init方法。所以我很困惑,请帮助。
答案 0 :(得分:62)
ASP.NET 2.0更改了默认的设计/编译模型。
默认情况下, AutoEventWireup 设置为true,指示编译器自动执行 使用命名从后面的代码中附加事件处理程序 惯例,所以当你写:
protected void Page_Load(...)
{
}
它会自动将此代码放在幕后:
this.Load += new EventHandler(this.Page_Load)
以前是由 InitialiseComponent()完成的(我相信)。
尽管如此,答案是自己编写代码:
protected void Page_Init(object sender, EventArgs e)
{
// do the bartman
}
答案 1 :(得分:46)
只需在你的代码中声明:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
答案 2 :(得分:6)
您不必绑定事件。只需为它创建一个事件处理程序,它将自动绑定:
protected void Page_Init(object sender, EventArgs e) {
...
}
答案 3 :(得分:2)
对于那些使用asp / vb.net的人,您需要在后面的代码中声明: 受保护的子Page_Init(ByVal sender As Object,ByVal e As EventArgs)处理Me.Init
答案 4 :(得分:0)
您可以在页面的CS文件中添加page_init方法。例如,如果您有Default.aspx,则可以将该方法放在Default.aspx.cs
中在VS中创建页面时,您将为您创建Page_Load方法。你可以把你的page_init代码& CS文件中页面的其他代码。
PS:如果您使用VB作为服务器端代码,则必须将其放在VB文件中
答案 5 :(得分:0)
在ASP.NET 3.5中没有什么不同 - 有一个代码隐藏页面,您可以在其中声明/附加OnInit
事件。
要查看背后的代码,请右键单击解决方案资源管理器中的文件,然后选择View code
。
答案 6 :(得分:0)
只需添加签名
即可protected void Page_Init()
{
//
}