繁体   English   中英

ASP.NET page_init事件?

[英]ASP.NET page_init event?

我正在使用ASP.NET 3.5和我之前使用的1.1我很难找到我可以在哪里附加/声明页面init事件?

在1.1中有自动生成的代码,它曾经有过初始化代码。 我们可以在哪里添加页面init方法。 所以我很困惑请帮助。

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
}

只需在你的代码中声明:

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
    }

您不必绑定事件。 只需为它创建一个事件处理程序,它将自动绑定:

protected void Page_Init(object sender, EventArgs e) {
  ...
}

对于那些使用asp / vb.net的人,你需要在后面的代码中声明为:Protected Sub Page_Init(ByVal sender As Object,ByVal e As EventArgs)处理Me.Init

您可以在页面的CS文件中添加page_init方法。 例如,如果您有Default.aspx,则可以将该方法放在Default.aspx.cs中

在VS中创建页面时,您将为您创建Page_Load方法。 您可以将页面的page_init代码和其他代码放入CS文件中。

PS:如果使用VB作为服务器端代码,则必须将其放在VB文件中

它在ASP.NET 3.5中没有什么不同 - 有一个代码隐藏页面,您可以在其中声明/附加OnInit事件。

要查看后面的代码,请右键单击解决方案资源管理器中的文件,然后选择View code

只需添加签名即可

protected void Page_Init() 
{
    //
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM