zoukankan      html  css  js  c++  java
  • Page类的IsPostBack原理

    IsPostBack是属于page类下面 只读属性(get)。其中上面[]包着的 简称为特性 简单说就是代码执行时 运行[]里面的对象类方法或者属性(内部利用反射原理)。

            //
            // 摘要:
            //     获取一个值,该值指示页是第一次呈现还是为了响应回发而加载。
            //
            // 返回结果:
            //     如果是为响应客户端回发而加载该页,则为 true;否则为 false。
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
            [Browsable(false)]
            public bool IsPostBack { get; }

    前端:

        <form id="form1" runat="server">
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
        </asp:DropDownList>
        </form>

    后台:

            protected void Page_Load(object sender, EventArgs e)
            {
                Response.Write(IsPostBack);
                Response.Write("<br/>");
            }
    
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                Response.Write("1111111111");
            }

    第一次运行输出false 刷新也是false。

    注意这个时刻是get请求 报文中没有__VIEWSTATE

    这个时候选择下请求 报文中存在__VIEWSTATE

    总结:服务端判断客户端提交的页面对象中 报文体是否存在__VIEWSTATE键,如果存在则设置为true 反之flase。

  • 相关阅读:
    bzoj 1821: [JSOI2010]Group 部落划分 Group
    codevs 1217 借教室
    洛谷 P2678 跳石头
    洛谷 P1316 丢瓶盖
    洛谷 P2683 小岛
    洛谷 P2431 正妹吃月饼
    loj #6092. 「Codeforces Round #418」恋爱循环
    loj #6091. 「Codeforces Round #418」幻想特快
    loj #6090. 「Codeforces Round #418」尘封思绪
    前端移植说明
  • 原文地址:https://www.cnblogs.com/y112102/p/3084860.html
Copyright © 2011-2022 走看看