Webform 内置对象 Session对象、Application全局对象,ViewState详细介绍

时间:2022-02-05 13:44:50

Session

每台电脑访问服务器,都有独立的session,key值都一样,内容不一样。

1.session保存在服务器上。

2.session没有持久性,保存周期就是20分钟。

重点: session不要滥用,不要不用,滥用会造成服务器溢出,不用会造成资源浪费。

赋值:Session["key"] = 值;
取值:string a = Session["key"];
清除: Session["key"]=null;

 Application

Application["key"] 是所有的用户获取这个key里面的值都是一样的, 没有保存周期,他会一直保存着, 通常用作版本号

赋值:Application["key"]=值;
取值:Application.Get("key");

 Repeater的Command操作:

  1. ItemCommand事件 —— 在Repeater中所有能触发事件的控件,都会来触发这一个事件
  2. CommandName —— 判断点击的是什么按钮,e.CommandName
  3. CommandArgument —— 触发事件所传递过来的主键值数据,放在这里面界面值绑定时要用 单引号 e.
  4. ItemCreated - 项模板中将HTML代码生成完毕时执行一遍此事件
  5. ItemDataBound - 项模板将数据绑定后执行一遍此事件

例子:

 <ItemTemplate>
        <tr class="tr_Item" style="<%#Eval("Blue") %>" >
        <td><%#Eval("UserName") %></td>
        <td><%#Eval("Password") %></td>
        <td><%#Eval("NickName") %></td>
        <td><%#Eval("SexName") %></td>
        <td><%#Eval("birthdayn" )%></td>
          <td><%#Eval("Age" )%></td>
        <td><%#Eval("NationName") %></td>
          <td><asp:Button ID="Button1" runat="server" Text="删除" CommandName="delete" CommandArgument='<%#Eval("UserName") %>'/>
            <asp:Button ID="Button2" runat="server" Text="修改" CommandName="xiugai" CommandName="delete" CommandArgument='<%#Eval("UserName") %>' />
          </td>
          
          </tr>
      </ItemTemplate>

 

后台代码:

 if (e.CommandName == "delete")//删除按钮
    {
      new UserDA().delete(e.CommandArgument.ToString());
      Repeater1.DataSource = new UserDA().select();
      Repeater1.DataBind();
    }
    if (e.CommandName == "xiugai")
    {
      new UserDA().select(e.CommandArgument.ToString());
      Repeater1.DataSource = new UserDA().select();
      Repeater1.DataBind();
    }

通过此文,希望能帮助到大家理解,此部分的知识,谢谢大家对本站的支持!