asp.net WebForm页面间传值方法

asp.net|web|页面

  ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面(request()/request.form()/request.querystring()),用同样的方法在ASP.NET中实现有点麻烦。在这里,通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。

  一、使用Querystring

  Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void button_click(object sender,System.EventArgs e)
{
  string url;
  url="webform2.aspx?name="+TextBox1.Text + "&Email="+TextBox2.Text;
  Response.Redirect(url);
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load(object sender,System.EventArgs e)
{
   Label1.Text=Request.QueryString["name"];
   Label2.Text=Request.QueryString["Email"];
}
运行,即可看到传递后的结果了。

二、使用Session变量

使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void button_click(object sender,System.EventArgs e)
{
   Session["Name"]=TextBox1.Text;
   Session["Email"]=TextBox2.Text;
   Response.Redirect("webform2.aspx");
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
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、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private  void (object sender,System.EventArgs e)
{
   Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
   get {return TextBox1.Text;}
}
public string Email
{
  get{return TextBox2.Text;}
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_load(object sender,System.EventArgs e)
{
  //创建webform的实例
  webform1 wf1;
 //获得实例化的句柄
  wf1=(webform1)Context.Handler;
  Label1.Text=wf1.Name;
  Label2.Text=wf1.Email;
}

常见的就是这三种方法。

时间: 2024-10-28 03:03:05

asp.net WebForm页面间传值方法的相关文章

asp.net WebForm页面间传值方法_实用技巧

ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式.然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面(request()/request.form()/request.querystring()),用同样的方法在ASP.NET中实现有点麻烦.在这里,通过其他方式来解决这种情形.ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应

asp.net WebForm页面间传值方法_基础应用

ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式.然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面(request()/request.form()/request.querystring()),用同样的方法在ASP.NET中实现有点麻烦.在这里,通过其他方式来解决这种情形.ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应

webform页面间传值的特殊方法

web|页面 网上天天有人问怎么在webform页面之间传值,基本上来说,大家熟悉的是(1)url字符串传值(2)session传值(3)直接读取server.transfer过来的页面上的数据前面2个就不说了,大家都知道怎么用,后面一个可能用的人比较少,这里做一下介绍.Web 窗体页是应用程序中的类,因此可以向处理任何类一样为它们创建属性.但是,由于 Web 窗体页实际上仅在执行页的过程中存在,它们的生命周期非常短.因此,Web 窗体页上属性的用途相当有限,因为它们仅在处理页的过程中存在.但是

JAVASCRIPT实现的WEB页面跳转以及页面间传值方法_javascript技巧

但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能. 下面是具体的做法: 一:跳转到新页面,并且是在新窗口中打开时: 复制代码 代码如下: function gogogo() { //do someghing here... window.open("test2.html"); } window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加http://,比如: 复

ASP.NET十分有用的页面间传值方法

一.目前在ASP.NET中页面传值共有这么几种方式:1.表单提交   <form action= "target.aspx" method = "post" name = "form1"> <input name = "param1" value = "1111"/> <input name = "param2" value = "2222&quo

asp.net 页面间传值方法小结_实用技巧

1.表单提交, 复制代码 代码如下: <form action= "target.aspx" method = "post" name = "form1"> <input name = "param1" value = "1111"/> <input name = "param2" value = "2222"/> </for

asp.net Context.Handler 页面间传值方法第1/2页_实用技巧

一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post" name = "form1"> <input name = "param1" value = "1111"/> <input name = "param2" value = "2222&quo

asp.net 页面之间传值方法总结

asp教程.net 页面之间传值方法总结 主要是设置PostBackUrl属性值,设置为你所需要跳转页面的名称("~/Default2.aspx"),然后再("~/Default2.aspx")页面中用PreviousPage.FindControl()方法找到所需要当前页的控件. 使用QueryString       使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏

asp.net页面之间传值方法详解

asp.net中页面之间传值我们用得最多的就是get,post这两种了,其它的如session,appliction,cookie等这些相对来说少用也不是常用的,只是在特殊情况下在使用了. 1. Get(即使用QueryString显式传递)      方式:在url后面跟参数.      特点:简单.方便.      缺点:字符串长度最长为255个字符:数据泄漏在url中.      适用数据:简单.少量.关键的数据.      适用范围:传递给自己.传递给另一个目标页面:常用于2个页面间传递