你的位置:首页 > ASP.net教程

[ASP.net教程]Webform 内置对象2(Session、Application)、Repeater的Command操作


内置对象:

1、Session:跟Cookies一样用来存储用户数据,但保存位置不同,保存在服务器内存上

每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的

Session没有持久的,保存20min

重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的

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

2、Application:

pplication["key"] 是所有的用户获取这个key里面的值都是一样的
没有保存周期,它会一直保存着
通常在什么地方使用,版本号

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

ViewState

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();    }