天天看点

delphi.net开发学习笔记(2),Application、Session、ViewState、Cookies状态以及变量处理

 代码例子:

//-----------------------------------------------------------------
//  Application
//-----------------------------------------------------------------
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
  if Application[&apos;NumUsers&apos;] <> nil then
    Label1.Text := &apos;Users visiting this site: &apos;+Application[&apos;NumUsers&apos;].ToString;
end;

procedure TGlobal.Session_Start(sender: System.Object; e: EventArgs);
begin
  Application.Lock;
  try
    if Application[&apos;NumUsers&apos;] = nil then
      Application[&apos;NumUsers&apos;] := System.Object(Integer(1))
    else
      Application[&apos;NumUsers&apos;] :=
        System.Object(Integer(Application[&apos;NumUsers&apos;])+1);
  finally
    Application.UnLock;
  end;
end;

procedure TGlobal.Session_End(sender: System.Object; e: EventArgs);
begin
  Application.Lock;
  try
    if Application[&apos;NumUsers&apos;] <> nil then
      Application[&apos;NumUsers&apos;] :=
        System.Object(Integer(Application[&apos;NumUsers&apos;])-1)
   else
      Application[&apos;NumUsers&apos;] := System.Object(Integer(0));
  finally
    Application.UnLock;
  end;
end;



//-----------------------------------------------------------------
//  Session
//-----------------------------------------------------------------
procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  Session.Add(&apos;UserName&apos;, TextBox1.Text);
  Response.Redirect(&apos;WebForm2.aspx&apos;);
end;



//-----------------------------------------------------------------
//  ViewState
//-----------------------------------------------------------------
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
  ViewState.Add(&apos;MyData&apos;, &apos;MyDataText&apos;);
  Response.Write(ViewState[&apos;MyData&apos;]);
end;



//-----------------------------------------------------------------
//  Cookies
//-----------------------------------------------------------------
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
  if not IsPostBack then
    if not Request.Browser.Cookies then
      lblNoCookie.Text := &apos;Your browser does not support cookies.&apos;
    else begin
      if Request.Cookies[&apos;MyName&apos;] <> nil then
      begin
        lblWelcome.Text := System.String.Format(&apos;Welcome back {0}&apos;,
          Request.Cookies[&apos;MyName&apos;].Value);
        TextBox1.Text := Request.Cookies[&apos;MyName&apos;].Value;
      end;
    end;
end;      

继续阅读