ASP.Net状态管理

来源:互联网 发布:头像下载软件 编辑:程序博客网 时间:2024/05/02 02:24

1ASP.NET使用了ViewState视图状态,是所有控件得一个属性。
通过一个列子说明一下 :
  private void btnOK_Click(object sender, System.EventArgs e)
  {
   if (ViewState["Count"] == null)
    ViewState["Count"] = 0;
   int nCount = (int)ViewState["Count"];
   nCount +=1;
   ViewState["Count"] = nCount;
   lbText.Text = nCount.ToString();
  }

  private void btnNext_Click(object sender, System.EventArgs e)
  {//下一页
   Panel mypanel;
   string panelname;
   panelname = "Panel" + ViewState["currentpage"];
   mypanel = (Panel)FindControl(panelname);
   mypanel.Visible = false;
   int currentpage = (int)ViewState["currentpage"];
   currentpage += 1;
   ViewState["currentpage"] = currentpage;
   panelname = "Panel" + ViewState["currentpage"];
   mypanel = (Panel)FindControl(panelname);
   mypanel.Visible =true;
  }
  private void btnPrev_Click(object sender, System.EventArgs e)
  {//上一页
   Panel mypanel;
   string panelname; 
   panelname = "Panel" + ViewState["currentpage"];
   mypanel = (Panel)FindControl(panelname);
   mypanel.Visible = false;
   int currentpage = (int)ViewState["currentpage"];
   currentpage -= 1;
   ViewState["currentpage"] = currentpage;
   panelname = "Panel" + ViewState["currentpage"];
   mypanel = (Panel)FindControl(panelname);
   mypanel.Visible = true;
  }
  private void btnFinl_Click(object sender, System.EventArgs e)
  {//显示
   Panel3.Visible = false;
   Panel4.Visible = true;
   Label1.Text = "姓名:" + name.Text +"<br>";
   Label1.Text += "性别:" + RadioButtonList1.SelectedItem.Text + "<br>";
   Label1.Text += "职业:" + TextBox2.Text + "<br>";
   Label1.Text += "爱好:" + TextBox1.Text + "<br>";
  }


隐藏域:
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
    Response.Write(Hidden1.Value);
  }

关于Cookie的使用
  private void Page_Load(object sender, System.EventArgs e)
  {
   string strMessage;
   if (Request.Cookies["username"]!=null)
    strMessage = "亲爱的"+Request.Cookies["username"].Value+",欢迎登录本网站!";
   else
    strMessage = "欢迎登录本网站!";
   Response.Write(strMessage);
  }

  private void btnReg_Click(object sender, System.EventArgs e)
  {
   Response.Cookies["username"].Value = tbUserName.Text;
   Response.Cookies["username"].Expires = DateTime.Now.AddMinutes(10);
  }

Post方法和查询字符串的
<form action="ShowMessage.aspx" method="post">
传值
   if(!IsPostBack)
   {
    Response.Write(Server.MapPath("input.aspx"));    
    LabelName.Text = "您的姓名是:" + Request.Form["username"];
    LabelSex.Text = "您的性别为:"+Request["sex"];
    LabelEmail.Text = "您的邮件地址为:" + Request["Mailaddress"];
    LabelAddress.Text = "您的地址为:" + Request["address"];
    LabelCity.Text = "您所在的城市为:" + Request["city"];
    LabelItem.Text = "您选择的班级为:" + Request["item"];
    LabelMemo.Text = "您的留言为:" + Request["memo"];
   }
Get传参
  private void btnSubmit_Click(object sender, System.EventArgs e)
  {
   Response.Redirect("Read.aspx?username="+tbUseName.Text+"&password="+tbPass.Text);
  }

  private void Page_Load(object sender, System.EventArgs e)
  {
   Response.Write("您的用户名称为:"+Request.Params["username"]+"<br>");
   Response.Write("您的密码为:"+Request.Params["password"]+"<br>");
  }

Application对象的使用
  private void Page_Load(object sender, System.EventArgs e)
  {
   Application.Lock();
   if(Application["counter"]!=null)
    Application["counter"] = Convert.ToInt32(Application["counter"])+1;
   else
    Application["counter"] = 1;
   Application.UnLock();
   lbInfo.Text = "您是第"+Application["counter"]+"位访问者!";
  }

Session的使用  
private void btnOk_Click(object sender, System.EventArgs e)
  {
   Session["username"] = tbUseName.Text;
   Session["password"] = tbPass.Text;
   Response.Redirect("ShowSession.aspx");
  }

  private void Page_Load(object sender, System.EventArgs e)
  {
   Response.Write("您的用户名是:"+Session["username"]+"<br>");
   Response.Write("您的密码为:"+Session["password"].ToString());
  }

原创粉丝点击