ASP.NET中页面传值技巧 (转载-清清月儿博客)

原创 2007年09月14日 20:42:00
在ASP.NET中有几种基于页面间的传值方法:常见的有QueryString.这种方法最简单不过了,但缺点就是它把要传送的值显示在地址栏中,如果对于在安全性的信息来说这并不是一种好的解决方案。还有一个缺点就是它不能传对象。这种方法适合于传送一个简单的值及安全性不大重要的信息。例:
   有两个页面:WebForm1.aspx,WebForm2.aspx。
  在WebForm1.aspx.cs的某些事件中放置如下代码:
  string url="WebForm2.aspx?name="+this.txtname.Text;
  Response.Redirect(url);            
 接着关键时刻出现了:在WebForm2.aspx.cs中某些事件中放置如下代码:
 lblname.Text=Request.QueryString["name"];
 OK! 整个传值过程完成!

  还有一种是利用Session变量来传值,这种也比较常用。利用Session比较灵活,可以
在多个页面间进行传值。当调用其remove后,Session即失效。同样用两张页面举个例:
WebForm1.aspx.cs中写入如下代码:
Session["name"]=txtname.Text;   
Response.Redirect("WebForm2.aspx");
下面在WebForm1.aspx.cs中取出Session的值:
lblname.Text=Session["name"].ToString(); //因为取出来的是一个对象,所以必须转换类型
Session.Remove("name");? //使Session失效。                    

  第三种方式是利用Request对象来取值,(注:这里使用的是html控件)这种比较简洁。实现如下:

在WebForm1.aspx中:

Name:

?

在WebForm2.aspx.cs中某个事件写入:Response.Write(Request.Form["txtname"]);

当点击submit按钮后,即通过Request.Form[”txtname”]取出了值,

 

第四种方法是利用Server对象的Transfer()方法来传值,它接收一个页面对象。

下面用代码来讲解一下这种实现方式:

在WebForm1.aspx 的某个事件中写入如下代码:Server.Transfer("WebForm2.aspx"); //传递页面对象
接着就可以在WebForm2.aspx.cs中获取WebForm1的页面对象。
if(Context.Handler is WebForm1) //判断传递过来的是否WebForm1,因为可能会有多个传递对象。    
{                                             
WebForm1 f1=(WebForm1)Context.Handler; //通过Context.Handler来创建一个WebForm1的页面对象,返 回一个object                                           
Response.Write("Hey,I get it with Context Handler "+((TextBox)f1.FindControl("TextBox1")).Text+"

");??      
}                                              
//最后通过调用WebForm1对象的FinControl()方法来查找WebForm1中名为"TextBox1"的一个文本控件,在此也可以换成其它的控件,不管查找的是哪一种控件,都必须将其强制转换为其类型,本示例中为TextBox,最后调用其属性Text,获取在TextBox1中的值,达到传值的效果。
  这种方法同样很灵活,可以传递多个页面对象,而不是传递值,因此当获取到页面对象的时候就可以获取此页面对象中的某些控件的值或其它的数据。

(注:以上几种方法,除了Request.Form()这种传值方法使用的是HTML控件外,其它几种都是使用WEB控件) 

ASP.NET跨页面传值技巧总结

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。 1. 使用QueryString变量 QueryString是一种非常简单的...

ASP.NET跨页面传值技巧

今天TM群里有人问起关于页面传值的方法,又引发了一场讨论.看来这个还是有很多人关注的,因此我就我个人观点做了些总结,希望对大家有所帮助. 1. 使用QueryString变量 QueryString...

ASP.NET跨页面传值技巧

  • 2009年05月06日 17:31
  • 40KB
  • 下载

ASP.NET跨页面传值技巧总结.mht

  • 2009年06月04日 10:14
  • 13KB
  • 下载

ASP.NET跨页面传值技巧总结

.使用QueryString变量   QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个性要求不高或是结构简单的数值时,可以使用这个方法。但...

ASP.NET跨页面传值技巧.

  • 2007年08月22日 23:15
  • 30KB
  • 下载

ASP.NET跨页面传值技巧

  • 2010年11月10日 13:40
  • 3KB
  • 下载

ASP.NET跨页面传值的技巧

2009-07-24 14:36 被偷De贼 博客园 我要评论(1) 字号:T |关于页面传值的方法,引发了很多讨论。本文总结了asp.net跨页面传值的技巧。 AD: ...
  • lhy2199
  • lhy2199
  • 2012年06月21日 13:14
  • 801

ASP.NET跨页面传值技巧总结

1.使用QueryString变量     QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个性要求不高或是结构简单的数值时,可以使用这个方...

.NET下正则表达式应用的四个示例 (转自“清清月儿”)

1.确认有效电子邮件格式   下面的代码示例使用静态 Regex.IsMatch 方法验证一个字符串是否为有效电子邮件格式。如果字符串包含一个有效的电子邮件地址,则 IsValidEmail 方法返回...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET中页面传值技巧 (转载-清清月儿博客)
举报原因:
原因补充:

(最多只允许输入30个字)