she*_*enn 0 c# asp.net events webforms master-pages
我试图覆盖继承Page_PreInit自我的类中的函数.但是,当我尝试编译时,我收到以下错误:_DefaultPage
'_Default.Page_PreInit(object,System.EventArgs)':找不到合适的方法来覆盖
这是我的代码:
public partial class _Default : Page
{
protected override void Page_PreInit(object sender, EventArgs e)
{
// Todo:
// The _Default class overrides the Page_PreInit method and sets the value
// of the MasterPageFile property to the current value in the
// selectedLayout session variable.
MasterPageFile = Master.Session["selectedLayout"];
}
...
}
Run Code Online (Sandbox Code Playgroud)
在Page类声明命名为公共事件PreInit,并命名为受保护的虚拟方法OnPreInit(这只是引发PreInit事件).所以你有两个选择.
选项1(推荐):覆盖OnPreInit:
protected override void OnPreInit(EventArgs e)
{
// Set the master page here...
base.OnPreInit(e);
}
Run Code Online (Sandbox Code Playgroud)
调用base.OnPreInit(e)以便页面PreInit像往常一样引发事件.
选项2:创建一个名为的方法Page_PreInit.PreInit只要您未在指令或Web.config中设置AutoEventWireup,ASP.NET就会自动将此方法绑定到事件.False@Page
private void Page_PreInit(object sender, EventArgs e)
{
// Set the master page here...
}
Run Code Online (Sandbox Code Playgroud)
如果选择此选项,请不要调用base.OnPreInit,否则最终会得到无限递归.
| 归档时间: |
|
| 查看次数: |
4166 次 |
| 最近记录: |