.net C#中页面之间传值传参的六种方法

来源:互联网 发布:mac qq远程控制 编辑:程序博客网 时间:2024/05/16 15:53
    1. 下面是一个例子
      private void Button1_Click(object sender, System.EventArgs e)
      {
      string s_url;
      s_url = "b.aspx?name=" + Label1.Text;
      Response.Redirect(s_url);
      }
      b.aspx中C#代码
      private void Page_Load(object sender, EventArgs e)
      {
      Label2.Text = Request.QueryString["name"];
      }

    2. query传值又分类post ,get格式如
      //post请求
      string name = Request["name"].toString();
      string name =Request.Form.Get("name").toString();
      //get请求
      string name = Request.QueryString["name"].toString();
      但我发现 无论是否是post与get传值都可用
      string name = Request["name"].toString();

    3. 使用Application 对象变量
      a.aspx的C#代码(备注:一个发布的网站一旦Application["name"]被赋值,那么所有浏览器打开b.aspx页面的Application["name"]都被赋值了,只有当iis重启后Application["name"]才会清空)
      private void Button1_Click(object sender, System.EventArgs e)
      {
      Application["name"] = Label1.Text;
      Server.Transfer("b.aspx");
      }
      b.aspx中C#代码
      private void Page_Load(object sender, EventArgs e)
      {
      string name;
      Application.Lock();
      name = Application["name"].ToString();
      Application.UnLock();
      }

    4. 使用Session变量
      a.aspx的C#代码
      private void Button1_Click(object sender, System.EventArgs e)
      {
      Session["name"] = Label.Text;
      }
      b.aspx中C#代码
      private void Page_Load(object sender, EventArgs e)
      {
      string name;
      name = Session["name"].ToString();
      }

    5. 使用Cookie对象变量
      a.aspx的C#代码
      private void Button1_Click(object sender, System.EventArgs e)
      {
      HttpCookie cookie_name = new HttpCookie("name");
      cookie_name.Value = Label1.Text;
      Reponse.AppendCookie(cookie_name);
      Server.Transfer("b.aspx");
      }
      b.aspx中C#代码
      private void Page_Load(object sender, EventArgs e)
      {
      string name;
      name = Request.Cookie["name"].Value.ToString();
      }

    6. 使用Server.Transfer方法
      a.aspx的C#代码
      public string Name
      {
      get{ return Label1.Text;}
      }
      private void Button1_Click(object sender, System.EventArgs e)
      {
      Server.Transfer("b.aspx");
      }
      b.aspx中C#代码
      private void Page_Load(object sender, EventArgs e)
      {
      a newWeb; //实例a窗体
      newWeb = (source)Context.Handler;
      string name;
      name = newWeb.Name;
      }

     

     

原创粉丝点击