重要提示
有人能解决这个问题吗?
如何在VS 2008中创建页面的Init、Load、PreRender等事件处理程序?当我们双击页面时,它会创建Page_Load事件。如何创建页面的其他事件?我在ASP.NET应用程序中使用c#。
图片中没有事件选项卡。
重要提示
有人能解决这个问题吗?
如何在VS 2008中创建页面的Init、Load、PreRender等事件处理程序?当我们双击页面时,它会创建Page_Load事件。如何创建页面的其他事件?我在ASP.NET应用程序中使用c#。
图片中没有事件选项卡。
重写 Web.UI.Page 类的 on_xxx 方法。只需在键入 override 关键字时开始输入 private override
,Intellisense 就会自动告诉您可以重写的可用方法,您可以从中选择并按 tab 键(该方法的原型将自动为您创建)。
如果页面设置了 AutoEventWireup 属性为 true,则可以定义一个方法,其原型和名称为 Page_[your event]
,如 Page_Init
,并带有适当的参数。事件将自动连接。
ASP.NET 页面框架支持一种机制,该机制使用 Web Forms 页面的 AutoEventWireup 属性自动关联页面事件和事件处理程序方法。如果 @ Page 指令的 AutoEventWireup 属性设置为 TRUE(或者未指定,因为其默认值为 TRUE),则 ASP.NET 页面框架会自动调用页面事件处理程序方法。
例如,Page_Init 和 Page_Load 事件处理程序方法由 ASP.NET 页面框架明确调用,而无需显式事件委托。
但是,使用 AutoEventWireup 属性自动关联页面事件及其事件处理程序方法的缺点是,事件处理程序方法必须具有标准的、预定义的名称。这限制了您如何命名事件处理程序方法。
以下是您的答案
在解决方案资源管理器中,右键单击页面并从上下文菜单中选择“查看组件设计器”,现在在属性窗口中,您将拥有事件选项卡。
protected override void OnInit(EventArgs e)
{
base.OnInit(e); //don't remove
}
protected void Page_Init(object sender, EventArgs e)
{
}
不需要为此设置任何内容(无需显式监听事件),但我对此并不100%确定。
希望有所帮助。
这个链接可能会有所帮助——它是msdn关于页面“生命周期”的参考,包括您提到的其他事件的创建。
http://msdn.microsoft.com/en-us/library/ms178472.aspx
除了双击页面控件(按钮、超链接、数据控件)之外,查看 c# 文件时还有一个下拉列表,其中包含页面的其他“生命周期”事件以及您创建的其他控件事件。看一下这个:http://msdn.microsoft.com/en-us/library/6w2tb12s%28v=VS.90%29.aspx(VS 2008 版本)
它说你可以声明式地创建一个名为 Page_event 的方法。
例如,要为页面的 Load 事件创建处理程序,请创建一个名为 Page_Load 的方法。
ASP.NET 页面会自动将页面事件绑定到具有 Page_event 名称的方法。此自动绑定由@ Page 指令中的 AutoEventWireup 属性配置,默认情况下设置为 true。如果将 AutoEventWireup 设置为 false,则页面不会自动搜索使用 Page_event 命名约定的方法。
对我有效!