博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#中三种传值的方法

Posted on 2012-03-30 23:50  乌雲安全  阅读(8273)  评论(2编辑  收藏  举报

一、Session传值(保存在服务端)

      新建一个login.aspx页面,添加用户名和密码,以及两个文本框,和一个Button安扭。

     在button按钮的单击事件中,填写如下代码:

     login.aspx.cs页面中

     Session["name"] = TextBox1.Text.Trim();
     Session["password"] = TextBox2.Text.Trim();
     Response.Redirect("index.aspx");

    新建一个index.aspx页面,在Page_load()方法中写入如下代码:

    index.aspx.cs页面中

    Response.Write("<br />你的用户名是:"+Session["name"].ToString());
    Response.Write("<br />你的密码是:" + Session["password"].ToString());

二、通过URL传值(这种传值方法不安全,信息会显示在地址栏)

     login.aspx.cs页面中

     ///获取值
     string name = TextBox1.Text.Trim();
     string password = TextBox2.Text.Trim();
     //通过url传值
     Response.Redirect("index.aspx?name="+name+"&password="+password);

     index.aspx.cs页面中

     //通过Request对象的QueryString()方法获取URL传的值
     Response.Write("<br />你的用户名是:"+Request.QueryString["name"]);
     Response.Write("<br />你的密码是:"+Request.QueryString["password"]);

三、Cookie传值(保存在客户端)

    //先获取值

    string name = TextBox1.Text.Trim();
    string password = TextBox2.Text.Trim();

   //实例化cookie类
    HttpCookie cookie = new HttpCookie("mycookie");
    cookie.Values["usn"] = name;
    cookie.Values["psd"] = password;
    cookie.Values["visittime"] = DateTime.Now.ToString();               //cookie最后访问时间
    cookie.Expires = DateTime.Now.AddDays(1);                           //cookie失效时间为1天
    Response.Cookies.Add(cookie);                                             ///将cookies保存到客户端
    Response.Redirect("index.aspx");

    注意:执行后浏览器的临时文件夹中会生成一个txt的文本文件,该文件包含cookie所传的值。