zoukankan      html  css  js  c++  java
  • asp.net页面间的传值

    关于asp.net页面间的传值,对于初学者来说尤其重要,下面介绍几种常用的方法

      1.  使用QueryString变量

      QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
    a.aspx的C#代码

    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3 string s_url;
    4 s_url = "b.aspx?name=" + Label1.Text;
    5 Response.Redirect(s_url);
    6 }

    b.aspx中C#代码

    1 private void Page_Load(object sender, EventArgs e)
    2 {
    3 Label2.Text = Request.QueryString["name"];
    4 }



      2.  使用Application 对象变量

      Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
    a.aspx的C#代码

    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3 Application["name"] = Label1.Text;
    4 Server.Transfer("b.aspx");
    5 }



    b.aspx中C#代码

    1 private void Page_Load(object sender, EventArgs e)
    2 {
    3 string name;
    4 Application.Lock();
    5 name = Application["name"].ToString();
    6 Application.UnLock();
    7 }



      3.  使用Session变量

      想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
    a.aspx的C#代码

    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3 Session["name"] = Label.Text;
    4 }



    b.aspx中C#代码

    1 private void Page_Load(object sender, EventArgs e)
    2 {
    3 string name;
    4 name = Session["name"].ToString();
    5 }



      4.  使用Cookie对象变量

      这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

    a.aspx的C#代码

    1 private void Button1_Click(object sender, System.EventArgs e)
    2 {
    3 HttpCookie cookie_name = new HttpCookie("name");
    4 cookie_name.Value = Label1.Text;
    5 Reponse.AppendCookie(cookie_name);
    6 Server.Transfer("b.aspx");
    7 }



    b.aspx中C#代码

    1 private void Page_Load(object sender, EventArgs e)
    2 {
    3 string name;
    4 name = Request.Cookie["name"].Value.ToString();
    5 }



      5.  使用Server.Transfer方法

      这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
    a.aspx的C#代码

    1 public string Name
    2 {
    3 get{ return Label1.Text;}
    4 }
    5 private void Button1_Click(object sender, System.EventArgs e)
    6 {
    7 Server.Transfer("b.aspx");
    8 }



    b.aspx中C#代码

    1 private void Page_Load(object sender, EventArgs e)
    2 {
    3 a newWeb; //实例a窗体
    4 newWeb = (source)Context.Handler;
    5 string name;
    6 name = newWeb.Name;
    7 }
  • 相关阅读:
    Go 语言简介(下)— 特性
    Array.length vs Array.prototype.length
    【转】javascript Object使用Array的方法
    【转】大话程序猿眼里的高并发架构
    【转】The magic behind array length property
    【转】Build Your own Simplified AngularJS in 200 Lines of JavaScript
    【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)
    【转】大话程序猿眼里的高并发
    php通过token验证表单重复提交
    windows 杀进程软件
  • 原文地址:https://www.cnblogs.com/xinweichen/p/2290312.html
Copyright © 2011-2022 走看看