|zyciis| 在Init中如何让OnLoad中的事件不执行或失效呢,谢谢

zyciis322 2009-04-30 01:41:27

protected override void OnInit(EventArgs e)
{
???//这里怎么写让PageLoad()失效或不执行
base.OnInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitForm();
}
}

谢谢
...全文
87 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
itcrazyman 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Allen_Chen_ 的回复:]
引用 7 楼 zyciis322 的回复:
引用 6 楼 Allen_Chen_ 的回复:
如果要做到的话用Response.End()就可以了。不过这应该不是你要的效果。

对不能Requery.End()

这样的话可以用设置flag来做。上面已经有代码了。除了用field也可以用 Context.Items[key]来存储flag.
[/Quote]
Allen_Chen_ 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zyciis322 的回复:]
引用 6 楼 Allen_Chen_ 的回复:
如果要做到的话用Response.End()就可以了。不过这应该不是你要的效果。

对不能Requery.End()
[/Quote]
这样的话可以用设置flag来做。上面已经有代码了。除了用field也可以用 Context.Items[key]来存储flag.
我姓区不姓区 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zyciis322 的回复:]
RE:Page.Load  +=  new  EventHandler(  Page_Load  )
----------------
这种方法是添加一个事件

RE:
private bool exit = false;
protected override void OnInit(EventArgs e)
{
if(某些条件)
exit = true;
base.OnInit(e);
}
-----------------------
能不能不要再override OnInit外面写其他代码
就在Init中写能不能实现这个功能啊

谢谢
[/Quote]
这有点钻牛角尖了吧,我已经说了,这是ASP.NET的生命周期,你不可能在某个事件中阻止其他的事件的进行。
zyciis322 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Allen_Chen_ 的回复:]
如果要做到的话用Response.End()就可以了。不过这应该不是你要的效果。
[/Quote]
对不能Requery.End()
Allen_Chen_ 2009-04-30
  • 打赏
  • 举报
回复
如果要做到的话用Response.End()就可以了。不过这应该不是你要的效果。
zyciis322 2009-04-30
  • 打赏
  • 举报
回复
RE:Page.Load += new EventHandler( Page_Load )
----------------
这种方法是添加一个事件

RE:
private bool exit = false;
protected override void OnInit(EventArgs e)
{
if(某些条件)
exit = true;
base.OnInit(e);
}
-----------------------
能不能不要再override OnInit外面写其他代码
就在Init中写能不能实现这个功能啊

谢谢
我姓区不姓区 2009-04-30
  • 打赏
  • 举报
回复
这是ASP.net页面生命周期,不可能不执行的,但你可以换一种思路去解决:

private bool exit = false;
protected override void OnInit(EventArgs e)
{
if(某些条件)
exit = true;
base.OnInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
if(exit)
return;
if (!IsPostBack)
{
InitForm();
}
}

HDNGO 2009-04-30
  • 打赏
  • 举报
回复
参阅IHttpModule类
HDNGO 2009-04-30
  • 打赏
  • 举报
回复
public   class   MyModule   :   PageModule  
{
protected override OnPrePageExecute( object sender, EventArgs e )
{
Page.Load += new EventHandler( Page_Load )
}

private Page_Load( object sender, EventArgs e )
{
//TODO: 将代码写在这里。
}
}
bijiniye1988 2009-04-30
  • 打赏
  • 举报
回复
Mark

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧