zoukankan      html  css  js  c++  java
  • 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')

  • 相关阅读:
    js中this指向的三种情况
    js 对象克隆方法总结(不改变原对象)
    JS 数组克隆方法总结(不可更改原数组)
    第七章、函数的基础之函数体系01
    第六篇、文件处理之文件修改的两种方式
    第六篇、文件处理之文件的高级应用
    第六篇.文件处理之python2和3字符编码的区别
    第六篇、文件处理之字符编码
    第五篇python进阶之深浅拷贝
    jquery的insertBefore(),insertAfter(),after(),before()
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2799583.html
Copyright © 2011-2022 走看看