ASP.NET页面生命周期
有很多理由去解释理解ASP.NET页面生命周期是非常重要的,主要是要去理解什么地方放置什么特定的方法,什么时候我们应该设置什么相关的属性。如果去开发自定义的服务器控件,理解生命周期对纠正控件初始化时候的错误,以及使用view-state和后台代码设置属性是非常有用的。(控件事件只与ASP.NET页面相关)
页面生命周期要看它是否是第一次请求,还是回发(本身页面请求),最后决定是否到Web服务器。当一个网页被Web服务器请求时,在回发到web浏览器之前,会经过一系列步骤/事件(如初始化,控件实例化,state的恢复和保存,执行事件处理代码,渲染)。
如果我们正确地使用和操作页面生命周期事件,它对web应用程序开发会是一个非常方便和强大的工具。
IIS : 它是Microsoft .NET默认的web服务器。IIS帮助你发布web sites和web application。当IIS Web服务器接受一个Web资源(文件)的请求,它检查文件的扩展名(例如:.aspx, ascx, .ashx 和.asmx),然后决定使用哪个 ISAPI 扩展来处理这个请求,然后传递这个请求给正确的 ISAPI扩展。
ASPNET_ISAPI.DLL: IIS加载这个dll,然后将页面请求发送给这个dll。这个dll为进一步处理而加载HTTPRuntime 。
ASPNET_WP.EXE:它包含了应用程序池。每个应用程序池可以包含任意数量的应用程序。应用程序池也称为应用程序域。当一个网页被请求时,查找IIS的当前的应用程序正在运行的应用程序池,并且将请求转发到各自的工作进程。
通常浏览器每次发送请求的时候,页面的生命周期每次都会执行一遍,页面的实例被创建、HTTP 运行时调用ProcessRequest 、然后执行起始页。
下面的表格显示了每个阶段和相应的事件:
阶段 事件/方法
页面初始化 Page_Init
加载View State
相关文档:
项目和网站的区别
项目编译成dll,网站通过“发布网站”来部署
部署目的地:/bin目录下
7个顶级目录及其编译情况
三种部署方式及其程序集生成情况 (程序集影子拷贝)
定制程序集生成:
<compilation>
<codeSubDirectories>
<add directoryName="vb_components"/ ......
<asp:TemplateField HeaderText="测试">
<ItemTemplate>
<asp:LinkButton ID="test" runat="server" OnClick="test_Click" OnClientClick='<%# string.Format("return confirmDelete(\"{0} {1}\");", DoEscape((string)Eval( ......
一、(单值绑定)在页面的后台代码中定义公有变量,如下:
public string gongYou = "声明的公有成员";
①然后在页面的源中调用,如下:
<asp:Label ID="lblMgs" runat="server" Text="<%#gongYou >"></asp:Label>
②当然最后要记得绑定数据:
protected void Page_Load(object ......
配置iis6解决运行asp.net mvc项目“无法找到该页”的错误
在iis6运行asp.net mvc 项目时,如果出现“无法找到该页”的提示,即404错误,那么有可能是iis没有设置好,按下面操作可以解决:
打开iis管理器,右击相应的网站节点,选择“属性”快捷菜单,弹出属性对话框,选择“主目录&rd ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : Syste ......