`
xcgh
  • 浏览: 77398 次
  • 来自: ...
社区版块
存档分类
最新评论

.net页面间的参数传递简单实例

    博客分类:
  • .net
阅读更多
使用QueryString

  使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。使用这种方法的步骤如下:

  1,使用控件创建web表单(form)

  2,创建可以返回表单的按钮和链接按钮

  3,在按钮或链接按钮的单击事件里创建一个保存URL的字符变量

  4,在保存的URL里添加QueryString参数

  5,使用Response.Redirect重定向到上面保存的URL

  下面的代码片断演示了如何实现这个方法:

  源页面代码:

  private void Button1_Click

  (object sender, System.EventArgs e)

  {

  string url;

  url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;

  Response.Redirect(url);

  }

  目标页面代码:

  private void Page_Load

  (object sender, System.EventArgs e)

  {

  Label1.Text=Request.QueryString["name"];

  Label2.Text=Request.QueryString["email"];

  }  

  使用Session变量

  使用Session变量是可以在页面间传递值的的另一种方式,在本例中我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。但是,需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该慎重,当然了,我们也应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗。使用Session变量传递值的一般步骤如下:

  1,在页面里添加必要的控件

  2,创建可以返回表单的按钮和链接按钮

  3,在按钮或链接按钮的单击事件里,把控件的值添加到session变量里

  4,使用Response.Redirect方法重定向到另一个页面

  5,在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它

  下面的代码片断演示了如何实现这个方法:

  源页面代码:

  private void Button1_Click

  (object sender, System.EventArgs e)

  {

  //textbox1 and textbox2 are webform

  //controls

  Session["name"]=TextBox1.Text;

  Session["email"]=TextBox2.Text;

  Server.Transfer("anotherwebform.aspx");

  }

  目标页面代码:

  private void Page_Load

  (object sender, System.EventArgs e)

  {

  Label1.Text=Session["name"].ToString();

  Label2.Text=Session["email"].ToString();

  Session.Remove("name");

  Session.Remove("email");

  }  

  使用Server.Transfer

  这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下:

  1,在页面里添加必要的控件

  2,创建返回值的Get属性过程

  3,创建可以返回表单的按钮和链接按钮

  4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面

  5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了

  以下代码综合实现上述步骤过程的代码:

    源页面代码:

  把以下的代码添加到页面中

  public string Name

  {

  get

  {

  return TextBox1.Text;

  }

  }  

  public string EMail

  {

  get

  {

  return TextBox2.Text;

  }

  }

  然后调用Server.Transfer方法

  private void Button1_Click

  (object sender, System.EventArgs e)

  {

  Server.Transfer("anotherwebform.aspx");

  }

  目标页面代码:

  private void Page_Load

  (object sender, System.EventArgs e)

  {

  //create instance of source web form

  WebForm1 wf1;

  //get reference to current handler instance

  wf1=(WebForm1)Context.Handler;

  Label1.Text=wf1.Name;

  Label2.Text=wf1.EMail;

  }
  

  在ASP.NET 2.0中启用了跨页面传送功能,其功能和用法在以后在做介绍!  

  页面之间传递值  

  方式1:  

  在接收页 的html代码里加上一行: <!---->  

  WebForm1 fp=(WebForm1)Context.Handler;

  this.TextBox1.Text=fp.name; //name 是第一页的public变量  

  Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。

  方式2:GET方式

在发送页

   public int sum=0;  

   int i =int.Parse(this.TextBox1.Text)*2;  

   Server.Transfer("WebForm2.aspx?sum="+i);  

   接收页

   this.TextBox1.Text=Request["sum"].ToString();

   or this.TextBox1.Text=Request.Params["sum"].ToString();

   this.TextBox1.Text=Request.QueryString["sum"];
  

  方法3:全局变量  

   发送页:

   Application["sum"]=this.TextBox1.Text;

   Server.Transfer("WebForm2.aspx");  

   接收页:

   this.TextBox1.Text=(string)Application["sum"];  

  Application实质上是整个虚拟目录中所有文件的集合,如果想在整个应用范围内使用某个变量值,Application对象将是最佳的选择  

  在这里用Session[""]的方法雷同  

  方法4:

   发送页:

   1.定义静态变量: public static string str="";

   2. str=this.TextBox1.Text;

   Server.Transfer("webform2.aspx");

   接收页:

   1.引入第一页的命名空间:using WebApplication1;

   2 this.TextBox1.Text=WebForm1.str;

分享到:
评论

相关推荐

    Asp.net页面之间传递参数的几种方法荟萃

    根据给定文件的标题、描述以及部分代码示例,我们可以总结出Asp.net页面间传递参数的几种常见方法及其应用场景与注意事项。 ### 1. 通过URL查询字符串传递 这是最简单直接的方式,将参数作为URL的一部分传递到目标...

    net页面间的参数传递简单实例

    ### ASP.NET 页面间参数传递详解 #### 一、概述 在 ASP.NET 开发过程中,页面间的参数传递是一项非常基础但又十分重要的技能。这不仅能够帮助开发者实现不同页面之间的数据共享,还能有效提升用户体验。根据提供的...

    ASP.NET页面传递参数

    ASP.NET页面传递参数是Web开发中的重要环节,它涉及到页面间的通信和数据交换。下面将对标题和描述中提到的知识点进行详细说明。 1. **Get(QueryString)**: - **方式**:通过URL后面的查询字符串传递参数。 - ...

    ASP.NET 中实现页面间的参数传递

    本文将深入探讨五种在ASP.NET中实现页面间参数传递的方法:QueryString、Application、Session、Cookie以及Server.Transfer,并通过实例解析每种方法的优缺点及应用场景。 #### 1. QueryString **优点**: - 使用...

    .NET页面前后台数据的交互

    总结起来,.NET页面前后台数据交互涉及HTTP请求、AJAX、Web服务以及实时通信库如SignalR等多种方式。理解并熟练运用这些技术,对于开发高效、响应式的Web应用至关重要。在实际开发中,应根据项目需求选择合适的数据...

    ASP.NET页面之间数据传递的实现 (2006年)

    ***页面之间数据传递是构建Web应用的重要环节,***作为微软公司推出的动态网页技术,基于.NET平台架构,相较于ASP,它提供了更加丰富的数据传递方式和技术支持。***主要包含WebForm和WebServices两种编程模型,其中...

    ASP.NET页面之间数据传递的几种方法

    例如,对于简单的参数传递,URL和POST方式较为常见;对于需要保持会话状态的场景,Session和Cookie是不错的选择;而对于复杂的业务逻辑处理,可能需要结合使用多种技术,如Server.Transfer配合PreviousPage属性。...

    如何在ASP.NET页面间传送数据

    ### 如何在ASP.NET页面间传送数据 在ASP.NET应用开发过程中,页面间的通信是非常重要的一个环节。本文将详细介绍几种常见的在ASP.NET页面之间传递数据的方法,并通过具体的代码示例来帮助理解每种方法的工作原理...

    ASP.NET整合fancybox弹出页面实例讲解

    为了使fancybox正常工作,确保你的ASP.NET页面正确地引用了jQuery库,并且fancybox的JavaScript文件被放在了合适的位置。同时,记得在你的服务器端代码中处理接收到的参数,如id,以便根据这些参数提供相应的服务。 ...

    《ASP.NET服务器控件开发技术与实例》一书光盘源程序代码

    理解如何创建、嵌入和传递参数到用户控件。 6. **分页和排序**:在数据量大的情况下,如何使用Paging和Sorting功能,以提高用户体验和性能。 7. **AJAX支持**:通过ASP.NET AJAX控件和技术,可以实现页面的部分...

    asp.net实例程序

    实例可能会包含如何传递参数、如何在页面间共享数据等操作。 6. **Master Pages与Themes** Master Pages允许创建统一的网站布局,而Themes则可以定义全局的外观和感觉。实例将展示如何创建和使用这两个功能,使...

    页面间传递参数的方法,及例子

    本教程将详细解释几种常见的页面间参数传递方法,并通过实例来帮助理解。 1. URL查询参数 这是最简单且广泛使用的方式。在URL后面添加问号(?)后跟键值对,如`www.example.com/page.html?name=John&age=30`。在...

    asp.net 父子页面传值

    1. **Query String**: 最简单的父子页面间传递值的方法是通过查询字符串(Query String)。当用户点击链接或按钮跳转到子页面时,可以在URL后面附加参数。例如,父页面可以创建一个链接按钮,其`NavigateUrl`属性...

    基于ASP.NET接口的AJAX异步请求实例(不是控件)

    1. 首先,你需要在服务器端的ASP.NET页面类中实现`ICallbackEventHandler`接口: ```csharp public partial class WebForm_AJAX : System.Web.UI.Page, ICallbackEventHandler { protected void Page_Load(object ...

    asp.net wwf简单实例

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

    asp.net用户控件使用实例

    下面将详细介绍如何在ASP.NET中创建、使用用户控件,并进行动态参数传递。 首先,创建用户控件(.ascx文件)是用户控件开发的第一步。在Visual Studio中,可以选择“添加新项”然后选择“Web用户控件”。在这个新...

    ASP.NET jquery ajax传递参数的实例

    ASP.NET与jQuery AJAX交互是Web开发中常见的技术组合,用于实现页面无刷新的数据通信。本文主要探讨了两种主要的参数传递方式:GET和POST。 ### GET传递参数 GET方法是通过在URL后面添加参数来传递数据。这种方式...

    asp.net rdlc报表代码实例

    - 在RDLC设计界面中添加参数,并在代码中传递参数值。 9. **导出报表** - 用户可以将报表导出为多种格式,如PDF、Excel、CSV等。 - `Render`方法的第二个参数用于指定导出的格式。 综上所述,ASP.NET的RDLC报表...

    asp.net MVC分页(多种)实例

    在“asp.net MVC分页(多种)实例”中,我们主要关注的是在ASP.NET MVC应用中实现分页功能的不同方法。分页是提高Web应用性能和用户体验的关键技术,尤其是在处理大量数据时。 1. **基本概念** - **MVC模式**:...

    asp.net url完整重写实例

    ASP.NET URL重写是Web开发中的一个重要概念,它允许开发者隐藏实际的页面路径,提供更加用户友好的URL,提升网站的可访问性和SEO优化。在ASP.NET中,URL重写通常通过`System.Web.Routing`命名空间下的类来实现。本...

Global site tag (gtag.js) - Google Analytics