• ASP.NET 杂记


    页面生命周期 
    页面生命周期:具体怎么调试可以参考之前我的随笔的:页面事件绑定模型
    页面中遇到的事件执行顺序如下:
    在无Master页面                                              加入Master页面
    PreInit
    --------------------------------------------------》MasterPage_Init
    Init
    InitComplete
    PreLoad
    Load
    --------------------------------------------------》MasterPage_Load
    Button事件
    LoadComplete
    PreRender
    --------------------------------------------------》MasterPage_PreRender
    PreRenderComplete
    SaveStateComplete

    最常用的页面生命周期事件说明:

    PreInit:一般是创建控件阶段,并不会初始化,所以在这里对属性赋值在后面可能会被重写,是不推荐的。
    Init:对所有的控件进行初始化,这个阶段可以设置属性的值。
    InitComplete:有Page页面促发,已完成所有的初始化工作。
    PreLoad:为自身和所有控件加载试图状态,处理任何回发数据。
    Load:调用Load方法,已递归的方式对每一个子控件执行相同操作。
    Button事件:处理特定控件的事件
    LoadComplete:加载完成后促发
    PreRender:每一个控件都有这个事件,使用它对内容进行最后的更改。
    SaveStateComplete:已保存所以控件的ViewState,将忽略此时的任何更改,但是可以读取试图的值
    。。
    另外,Init和Load都会在每一个控件上以递归方式发生,但是他们顺序刚好相反:

    每一个控件的Init事件是在其容器之前发生。
    每一个控件的Load事件是在其容器之后发生。
    从这个原则看,Master算是Page的一个控件。

    页面数据绑定<%#name%>

    在使用<%#name%>绑定数据,必须调用DataBind()方法,例如:
    HTML:<%#name%>
    cs:
    public string name="ddd";
    Page_Load()
    {
       Page.DataBind();   
    }
    更多内容请阅读之前我的随笔:页面数据绑定

    ASP.NET页面传值

    1、get和post

    get传值是在url中体现的“www.cnblogs.com?key1=value1”
    使用Request.QueryString["key1"]取值
    post传值是在http请求head中体现的“www.cnblogs.com”
    使用Request.Form["key1"]取值
    一般是在from表单提交的时候,浏览器自己把请求的值封装在head里面

    2、session和Application

    保存和获取都是:Session["key"]、Application["key"]

    3、页面静态变量

    在页面类里面定义静态变量:public Static string name="";
    获取:Page1.name;

    GetPost区别

    get一般是从服务器获取值,post一般是提交数据给服务器
    get参数是放在url中传输的,post是通过http post机制,将数据放在html的head内,一起传输到url。
    get,使用Request.QueryString["key1"]取值,post使用Request.Form["key1"]取值
    两者可以使用Request["key1"]通吃,但是并不推荐。
    相对而言,post会安全一点。

    Server.Transfer和Response.Redirect 区别

    Server.Transfer:把处理控制权从一个页面转移到另一个页面,在这个过程中没有离开服务器,

    前一个页面的数据不会丢失。
    Response.Redirect:发送一个http响应给客户端浏览器,浏览器重新发送http请求,前一个页面信息丢失。

    刷新页面

    1、自动刷新页面:
    在head中加:<meta http-equiv="refresh" content="5"> 每隔5秒刷新一次页面
    2、自动跳转:<meta http-equiv="refresh" content="5;url=http://www.cnblogs.com">
    3、SetTimeOut实现:
    <body onload="SetTimeOut('history.go(0);',5000)">
    <body onload="SetTimeOut('this.location.reload();',5000)">
    也可以使用JavaScript:
    <Script>
    function change()
    {
        document.location="www.cnblogs.com";
    }
    SetTimeOut(change,5000);//定时执行
    </Script>
    4、刷新的方式
    history.go(0)

    location.reload()

    location=location

    location.assign(location)

    document.execCommand('refresh')

  • 相关阅读:
    Python学习笔记-常用内置函数
    Python练习-高阶函数-2018.12.03
    Python练习-生成器、迭代器-2018.12.01
    Python练习-列表生成式-2018.11.30
    Python练习-迭代-2018.11.28
    Python练习-循环及切片-2018.11.27
    FortiGate端口聚合配置
    FortiGate路由模式--静态地址线路上网配置
    方位电话批量配置教程
    Python学习笔记(七)
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2799583.html
Copyright © 2020-2023  润新知