C#写的ASP.NET程序是从哪里开始执行的?

xueyhfeng 2003-11-19 10:04:50
困惑,用vs.net创建的project中.cs文件好像都是从OnInit(EventArgs e)开始执行的,不是说从Main开始执行的吗?

太菜,见笑,对C风格的程序不熟悉,
...全文
134 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwonion 2003-11-21
  • 打赏
  • 举报
回复
就单个页面来说是重 page_load 事件开始执行的。
KKND2000 2003-11-21
  • 打赏
  • 举报
回复
可视化和代码编写的项目好象不一样啊!
DrZhang 2003-11-21
  • 打赏
  • 举报
回复
就像楼上说的,从Global.asax开始执行的。
xueyhfeng 2003-11-21
  • 打赏
  • 举报
回复
什么意思呢?
michaelowenii 2003-11-21
  • 打赏
  • 举报
回复
I think it start from Global.asax ,but winform start from Main().
xueyhfeng 2003-11-21
  • 打赏
  • 举报
回复
可能我没有说清楚吧,我说的是带Codebehind 属性和Inherits 属性的.aspx文件,我说说我的理解吧,
-------------------------
在.aspx文件中带有Inherits属性,而且属性值一般是namespace.class ,那么肯定就是从Codebehind属性指定的.cs文件中namespace.class开始,而一般vs.net自动生成的代码都是这样的,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

namespace your_namespace
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class you_class : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label label1;
protected System.Web.UI.WebControls.LinkButton lnk_prev;
protected System.Web.UI.WebControls.LinkButton lnk_next;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//连接数据库

}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
看这段代码,我认为顺序是:OnInit() -->InitializeComponent() --> Page_Load()
------------------------------------------
我认为是这样,不知道对不对,那么,为什么是从OnInit()开始的呢?这个OnInit()是什么意思?
muyangzuo 2003-11-20
  • 打赏
  • 举报
回复
初始化控件
xueyhfeng 2003-11-20
  • 打赏
  • 举报
回复
Global.asax和Global.asax.cs文件里面什么都没写啊,也没定义是从哪里开始执行,

我看了一下,好像每个页面都是从对应.cs文件中的 protected void OnInit(EventArgs e)开始执行的,请问这个是什么意思?
fancyyin 2003-11-19
  • 打赏
  • 举报
回复
每个页面是从page_load(...)开始执行的
stpangpang 2003-11-19
  • 打赏
  • 举报
回复
win form 是从main执行的,但是web form 就是...楼上说了啊
jasper_liu 2003-11-19
  • 打赏
  • 举报
回复
从Main开始的都是Windows Form应用。
ylsf666 2003-11-19
  • 打赏
  • 举报
回复
从Global.asax开始执行的。里面有个Application_start()应该是先执行的那个。如果IIs服务没有停的话,下一次就不会执行Application_start(),而只是执行Session_start()

62,047

社区成员

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

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

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

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