小魔女 发表于 2015-1-16 23:13:41

ASP网页编程之Web程序中网页间数据传送办法小结

asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。web|程序|数据|网页先容

  我们老是会碰到如许的情形,必要将数值从一个网页传送到另外一个网页。在这篇文章中,向你展现了几种从一个网页向另外一个网页传送数值的几种办法。在此例子中,创立的网页由一个文本控件和几个按钮控件构成。在文本框中输出的数据经由过程被标识在按钮控件中的分歧办法从一个网页传送到另外一个网页。

  Response.Redirect

  让我们起首看一看怎样利用Response.Redirect办法传送数据。这是它们当中最复杂的办法。在文本框中输出一些数据,而且当你输出完成数据后,按下“Respose.Redirect”按钮。我们会失掉一个提醒,偶然我们想在catch程序中传送另外一个网页,意味着捕获到破例程序而且向另外一个网页传送。假如你试图如许做,它会给你一个System.Threading破例程序。由于你想遗留下一个线程向另外一个网页传送数据,以是这个破例程序就会被抛出。

Response.Redirect("WebForm5.aspx",false);
  这个语句告知编译器定位到“WebForm5.aspx”,这里的“false”意味着在以后网页不克不及停止你正在做的事变。应当看一看线程公布命令的System.Threading类。鄙人面,看一看按钮事务的C#代码。“txtName”文本控件的名字,文本框的内的值传送到一个叫做“WebForm5.aspx”的网页。在“?”以后的“Name”标记只是一个一时的呼应变量,这个变量坚持着文本的数值。

privatevoidButton1_Click(objectsender,System.EventArgse)
{
 //ValuesentusingHttpResponse
 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事务中,写进以下代码:

HttpCookiecName=newHttpCookie("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。

SessionVariables

  接上去我们看一看session变量,这些变量由服务器来处置。第一个响影一从客户端传送到服务器,Sessions就创立了,而且当用户封闭扫瞄器窗口大概一些非常操纵产生,session就会停止。给你一些可使用session变量来传送数值的办法。鄙人面你看到为用户创立的Session和“Name”是关头字,也如出名的Session关头字一样,关头字被赋给TextBox数值。

//SessionCreated

Session["Name"]=txtName.Text;
Response.Redirect("WebForm5.aspx");

//Thecodebelowshowshowtogetthesessionvalue.
//Thiscodemustbeplacedinotherpage.

if(Session["Name"]!=null)
 Label3.Text=Session["Name"].ToString();
 ApplicationVariables
  偶然,我们必要存取来自网页任何中央的数值。由于那样,可使用Application变量。这里有一小段代码,这段代码显现怎样做到那些事变。一旦创立Application变量而且为其赋值,在使用程序的任何中央都能够从头失掉它的值。

//ThissetsthevalueoftheApplicationVariable

Application["Name"]=txtName.Text;
Response.Redirect("WebForm5.aspx");

//ThisishowweretrievethevalueoftheApplicationVariable

if(Application["Name"]!=null)
Label3.Text=Application["Name"].ToString();
  HttpContext

  可使用HttpContext从网页中从头失掉数值。经由过程利用办法的属性取得那些数值。既然它们易于编写代码和修正,利用属性是一种好办法。在你的第一个网页中,打造一个属性,这个属性能够前往TextBox的值。

publicstringGetName
{
 get{returntxtName.Text;}
}
  我们利用Server.Transfer来将此控件发送到一个新网页。注重:Server.Transfer仅仅将此控件传送到新的网页而且不从头定位该网页,这意味着你会看到在URL中旧网页的地点。复杂地在“Server.Transfer”按钮单击事务,而且增添以下代码。

Server.Transfer("WebForm5.aspx");
  如今,让我们定位网页,数值就传送到该网页上,在这类情形下利用的该网页是“webForm5.aspx”。

//YoucandeclarethisGloballyorinanyeventyoulike

WebForm4w;

//GetsthePage.ContextwhichisAssociatedwiththispage

w=(WebForm4)Context.Handler;

//AssigntheLabelcontrolwiththeproperty"GetName"whichreturnsstring

Label3.Text=w.GetName;
SpecialNote
  出格注重与你看到的一样,从一个网页向别一网页传送数值时有分歧的办法。每个办法有它本人的长处也有其弱点。以是,当你传送数值时,选择好你所必要的以是你就会有一种好办法,这类办法对你是最为可行的。
</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。

分手快乐 发表于 2015-1-17 17:57:54

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

金色的骷髅 发表于 2015-1-20 23:58:18

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

兰色精灵 发表于 2015-1-22 22:47:39

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

仓酷云 发表于 2015-1-25 15:24:38

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

海妖 发表于 2015-1-29 14:35:24

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

再见西城 发表于 2015-2-1 17:33:19

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

admin 发表于 2015-2-7 12:22:36

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

小妖女 发表于 2015-2-21 21:11:32

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

老尸 发表于 2015-3-6 21:42:39

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

蒙在股里 发表于 2015-3-13 21:49:24

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

飘灵儿 发表于 2015-3-20 19:31:56

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
页: [1]
查看完整版本: ASP网页编程之Web程序中网页间数据传送办法小结