黑马程序员技术交流社区

标题: session与cookies [打印本页]

作者: 王羽轩    时间: 2011-12-10 16:37
标题: session与cookies
session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
作者: 张成    时间: 2011-12-10 23:59
本帖最后由 张成 于 2011-12-11 00:00 编辑

你是想问跨页传值的内容吧,还有以下几种方法。
使用QueryString变量
    QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。

a.aspx的C#代码
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"];
}

使用Server.Transfer方法
    这个才可以说是面象对象开发所使用的方法,其使用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;
}

作者: 王立磊    时间: 2011-12-12 14:37
.net有很多传值的方式,比如楼主说的session cookies server.trasfer querystring  等等 各有好处 就好想吃馒头和米饭一样各有各的味道!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2