当前位置: 首页 > 图文教程 > 网络编程 > ASP > Web程序中网页间数据传递方法小结

ASP
一种比较方便的ASP分页程序
用一套论坛程序架设多个论坛
ASP与ASP.NET在COOKIE方面的区别
较长数据无法在Asp页面中取出的三种解决方法
初试WAP之wml+ASP查询
动态网站首页的静态生成方法
使用正则表达式实现模式图片新闻.ASP
让你的WAP网站有更好的兼容性
WAP版的手机号码所在地查询
asp模仿 Lotus Notes 的界面程序
ORACLE920与ASP的连接问题的解决办法
利用SQLSERVER存储过程实现ASP用户身份验证
在ASP中自动创建多级文件夹的函数(使用FSO)
利用instr()函数防止SQL注入攻击
利用XSL和ASP实现XML文档在线编辑
表单对象textarea内容的格式控制(回车、换行、空格)
针对select写了一个通用的option输出函数
ASP无组件BMP汉字生成类+汉字点阵库
时间、空间性能极优的asp无组件上传类
无组件生成BMP验证码

ASP 中的 Web程序中网页间数据传递方法小结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 208 ::
收藏到网摘: n/a

介绍

我们总是会遇到这样的情况,需要将数值从一个网页传递到另一个网页。在这篇文章中,向你展示了几种从一个网页向另一个网页传递数值的几种方法。在此例子中,创建的网页由一个文本控件和几个按钮控件组成。在文本框中输入的数据通过被标识在按钮控件中的不同方法从一个网页传递到另一个网页。

Response.Redirect

让我们首先看一看如何使用Response.Redirect方法传递数据。这是它们之中最简单的方法。在文本框中输入一些数据,并且当你输入完成数据后,按下“Respose.Redirect”按钮。我们会得到一个提示,有时我们想在catch程序中传递另一个网页,意味着捕捉到例外程序并且向另一个网页传递。如果你试图这样做,它会给你一个System.Threading例外程序。因为你想遗留下一个线程向另一个网页传递数据,所以这个例外程序就会被抛出。

Response.Redirect("WebForm5.aspx",false);

这个语句告诉编译器定位到“WebForm5.aspx”,这里的“false”意味着在当前网页不能结束你正在做的事情。应该看一看线程发布命令的System.Threading类。在下面,看一看按钮事件的C#代码。“txtName”文本控件的名字,文本框的内的值传递到一个叫做“WebForm5.aspx”的网页。在“?”之后的“Name”符号只是一个临时的响应变量,这个变量保持着文本的数值。

private void Button1_Click(object sender, System.EventArgs e)

{

// Value sent using HttpResponse

Response.Redirect("WebForm5.aspx?Name="+txtName.Text);

}

好的,到这种观点为止,你使用Response发送了数值。刚刚,在此我收集到了这些数值,所以在“WebForm5.aspx”page_Load事件中,写入这些代码。首先,我们检查到输入的值不为null。如果不是这样,我们只是简单地在网页上使用Label控件显示数值。注意:如果你使用Response.Redirect方法来传递这些数值,所有这些数值在浏览器的URL中都是不可见的。你绝不能使用Response.Redirect来传递信用证号码和机密信息。

if (Request.QueryString["Name"]!= null)

Label3.Text = Request.QueryString["Name"];

Cookies

接下来使用Cookies。Cookies在服务器端创建,但是客户端省略。在此 “Cookies” 按钮的click事件中,写入以下代码:

HttpCookie cName = new HttpCookie("Name");

cName.Value = txtName.Text;

Response.Cookies.Add(cName);

Response.Redirect("WebForm5.aspx");

首先,创建一个cookie命名为“cName”。既然一个cookie实例可以拥有许多数值,告诉编译器这个cookie持有“Name”数值。我们将它赋值给TextBox并且最结后将它加入Response流,再使用Response.Redirect方法传递给其它网页。

让我们看一看如何得到被另一个网页传递的cookie数值。

if (Request.Cookies["Name"] != null )

Label3.Text = Request.Cookies["Name"].Value;

如你所看到的,象我们以前做一的一样正是使用同一种方法,刚刚我们在Request.QueryString之内,使用了Request.Cookies。记注一些浏览器不接收cookies。