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。

  • 相关阅读:
    Linux下c++使用pthread库
    一半,一绊
    【codevs3945】 完美拓印
    【poj2942】 Knights of the Round Table
    【bzoj2730】 HNOI2012—矿场搭建
    【poj1177】 Picture
    Tarjan学习笔记
    联赛总结
    【poj3461】 Oulipo
    【csuoj1014】 西湖三人行
  • 原文地址:https://www.cnblogs.com/y112102/p/3084860.html
Copyright © 2011-2022 走看看