`

ASP.NET中页面传值技巧

阅读更多
在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跨页面传值技巧

    以下将详细介绍几种常用的ASP.NET跨页面传值技巧。 1. **使用QueryString变量**: QueryString是通过URL参数来传递数据的方式。在a.aspx页面上,可以将Label1的文本内容添加到URL中,然后通过Response.Redirect...

    asp.net 父子页面传值

    通过学习和实践这些案例,开发者可以更好地掌握在ASP.NET中实现父子页面传值的技巧,从而提升Web应用的用户体验和功能完整性。 总的来说,父子页面传值是ASP.NET开发中的一个重要技能,涉及到多种技术和策略。选择...

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

    ASP.NET跨页面传值是Web开发中的常见需求,本文将介绍五种常用的方法,帮助开发者在不同的场景下选择合适的方式。 1. **使用QueryString变量**: QueryString是最直观的传值方式,它通过URL参数传递数据。适用于...

    ASP.NET跨页面传值技巧.

    ### ASP.NET跨页面传值技巧详解 #### 一、引言 在ASP.NET应用程序开发过程中,经常需要在不同页面之间传递数据。为了提高程序的健壮性和灵活性,掌握多种跨页面传值技巧是非常必要的。本文将详细介绍五种常用的数据...

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

    使用QueryString变量 使用Application 对象变量 使用Session变量 使用Cookie对象变量 使用Server.Transfer方法

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

    感觉还是不错的,希望大家喜欢!!!!!!!!!!

    ASP.net中各种传值方式

    在ASP.NET中,有多种方式可以实现页面间的数据传递,这些传值技巧是开发者必须掌握的基本技能。以下将详细阐述这些方法。 1. **Query String(查询字符串)** Query String是最常见的页面间传值方式,通过URL附加...

    ASP.NET页面传值技巧

    ASP.NET 页面传值技巧是开发 ASP.NET 应用程序时常用的技术,用于在不同页面间传递数据。这里介绍两种常见的页面传值方法:通过 `Response` 和 `Request.QueryString` 以及通过 `Session`。 1. **通过 `Response` ...

    ASP.NET传值方法详解

    ### ASP.NET传值方法详解 #### 一、概述 在ASP.NET开发中,页面之间的数据传递是一项基础且重要的技能。合理的数据传递不仅能够提高程序的效率,...掌握这些传值技巧,将有助于提高ASP.NET应用程序的功能性和可用性。

    ASPNET跨页面传值技巧

    本文将深入探讨几种ASP.NET跨页面传值的技术,以及如何在实际项目中应用这些技巧。 1. QueryString参数传递: 最简单也最常见的跨页面传值方式是通过URL的QueryString来实现。在源页面上,可以通过Response....

    Asp.Net从零开始30(页面传值2)

    通过本文的学习,您应该已经掌握了如何使用ASP.NET结合JavaScript实现页面间传值的基本技巧。这对于构建功能丰富的Web应用程序非常有帮助。当然,随着技术的发展,还有更多高效、优雅的方式来解决类似的问题,如使用...

    asp.net 页面传值的几个方法

    在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式。本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当按钮点击时文本框中的字符串将会以不同的方式传递到另外的页面去。 1. Response....

    asp.net不同页面间数据传递的多种方法

    1. Get(即使用QueryString显式传递)方式:在url后面跟参数。特点:简单、方便。缺点:字符串长度最长...常用技巧是把隐秘的数据存在隐藏域中由form提交。适用数据:大量数据,包括文件上传。适用范围:同Get方法用法:

    Asp.net 技巧.rar

    Asp.net 弹出窗口的几种方法 Asp.net 的几种页面传值方法 ASP.NET 简单下载的实现 Asp.net常用的三十多个代码 ASP.NET常用的三十三种实用代码 ASP.NET常用的三十三种实用代码 ASP.NET常用的三十三种实用代码 等

    ASP.NET 经典常用代码

    虽然主要提及的是JavaScript技巧,但JavaScript在ASP.NET中也经常被用于增强页面交互性,因此这个资源对于增强ASP.NET页面的用户体验也很有价值。 9. **在Asp.net中如何实现弹出提示对话框.mht**: 这个网页文件...

    asp.net wwf简单实例

    5. **工作流与ASP.NET的交互**:在实例中,主程序(ASP.NET页面或控制器)可能通过调用工作流服务来启动、暂停、恢复或终止流程。同时,工作流可以通过事件触发或回调函数与主程序交换信息,实现双向通信。 6. **...

    asp.net结合html,javascript实现无刷新跨域数据提交

    ASP.NET结合HTML、JavaScript实现无刷新跨域数据提交 本文将介绍如何使用ASP.NET、HTML和JavaScript实现无刷新跨域数据提交。跨域数据提交是指在不同的域名之间传递数据,而不需要刷新整个页面。 首先,需要理解...

Global site tag (gtag.js) - Google Analytics