(1). Response.Redirect (或称 Query String 方式、URL方式) 例:传值 Response.Redirect(“XXX.aspx?ID=”+txtID.Text); XXX页面接收值:Request.QueryString[“ID”].ToString();
当我们使用Response.Redirect传递变量时,所有的变量都能在浏览器的URL中看到,我们不能用这种方法来传递重要的机密数据,如信用卡号等
(2). Cookies
Cookies由服务端创建,但保存在客户端,当我们点击Cookies按钮是,运行代码如下,
首先,我们创建了一个名叫“cName”的cookie实例,由于一个cookie实例可以保存多个值,我们需要告诉编译器这个cookie将保存“Name”值,并把txtName.Text的值赋给它,并把它加到\"输出流” 中,并使用Response.Redirect输出到另外一个网页。
HttpCookie cName = new HttpCookie(\"Name\");
cName.Value = txtName.Text; Response.Cookies.Add(cName); Response.Redirect(\"WebForm5.aspx\");
取值 if (Request.Cookies[\"Name\"] != null )
Label3.Text = Request.Cookies[\"Name\"].Value;
注:取值方法和第一种类似。一些浏览器是(Goole,CHROME)不支持Cookies的。
(3). Session 变量
Session 在用户向服务端发出首次请求时被创建,而在用户关闭浏览器或异常发生时终止(其实还是有过期的情况)。
Session [“Name”]=txtName.Text; 获得Session [“Name”].ToString (4). Application 变量
一旦创建了Application变量并赋值,就可以在网站(项目)的所有页面中获得它 Application[“Name”]=txtName.Text; 获得Application[“Name”].ToString (5). Server.Transfer方式(或称HttpContext方式) 要传递的变量可以通过属性或方法来获得,使用属性将会比较容易一些。让我们在第一个页面WebForm4中来写一个用来获得TextBox值的属性 Public stirng GetName
{ get { return txtName.Text; } }
使用Server.Transfer把这个值发送到另外一个页面中去,请注意Server.Transfer只是发送控件到一个新的页面去,而并不会使浏览器重定向到另一个页面。所以,我们我们在地址栏中仍然看到的是原来页面的URL。
Server.Transfer(“XXXX.aspx”);
到XXX.aspx页面: WebForm 4 W;
W=(WebForm4)Context.Handler; Label3.Text=W.GetName; (6).使用Cache
(7)使用HttpContext的Item属性 (8)使用文件 (9)使用数据库 例如:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
答 : this.Server.Transfer,Querystring ,cache,使用httpContext的Item的属性 ,使用文件,使用数据库
因篇幅问题不能全部显示,请点此查看更多更全内容