asp.net 三种基本的参数传递方法(web forms)

转载 2006年06月06日 10:03:00

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

一、使用Querystring
Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传

递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 
3、为button按钮创建click事件
代码如下:
private void Button1_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 Button1_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 Button1_Click
(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)
{
 //创建原始窗体的实例
 WebForm1 wf1;
 //获得实例化的句柄
 wf1=(WebForm1)Context.Handler;
 Label1.Text=wf1.Name;
 Label2.Text=wf1.EMail;

}

ASP.NET Web Forms 转换至MVC开发

作为.NET 阵营的网页开发人员几乎都是从ASP.NET Web Forms开始接触网页开发技术的,所在在这里主要介绍一下Web Forms与MVC的差异。 一、开发概念的转变        MV...
  • DestinyAaron
  • DestinyAaron
  • 2017年07月31日 11:34
  • 316

ASP.NET Web Forms - TextBox 控件

ASP.NET Web Forms - TextBox 控件 TextBox 控件用于创建用户可输入文本的文本框。 TextBox 控件 TextBox 控件用于创建用户可输...
  • MR_XuZhe
  • MR_XuZhe
  • 2017年11月24日 08:40
  • 209

ASP.NET Web API 实现客户端Basic(基本)认证 之简单实现

优点是逻辑简单明了、设置简单。 缺点显而易见,即使是BASE64后也是可见的明文,很容易被破解、非法利用,使用HTTPS是一个解决方案。 还有就是HTTP是无状态的,同一客户端每次都需要验...
  • lxrj2008
  • lxrj2008
  • 2017年02月17日 18:14
  • 446

ASP.NET之Web Pages

ASP.NET 三种编程模型 Web Pages、 Web Forms 和 MVC (Model, View, Controller) Web Pages 是最简单的 ASP.NET 网页...
  • llwszjj
  • llwszjj
  • 2013年11月30日 09:55
  • 1746

Essential Studio for ASP.NET Web Forms发布2017 v2,新增自定义树形网格工具栏等

Essential Studio for ASP.NET Web Forms是一个帮您轻松创建商业Web应用程序的ASP.NET界面控件,其包含了商业Web应用程序开发中所需的所有控件,如grids、...
  • Harriet666
  • Harriet666
  • 2017年05月24日 17:23
  • 751

ASP.NET母版页使用 按下回车刷新页面 去掉 <form></form>标签

ASP.NET母版页使用 按下回车刷新页面 去掉 标签
  • luckysiesteven
  • luckysiesteven
  • 2016年05月04日 14:48
  • 619

ASP.NET Forms 身份验证

ASP.NET Forms 身份验证 ASP.NET Forms 身份验证 概述 ...
  • apinghappy
  • apinghappy
  • 2007年07月18日 10:30
  • 1121

Asp.Net中WebForm与MVC,Web API模式对比

webform,web mvc和web api都是asp.net官方的三套框架,想对比下三者的关系,查了下资料,web api跟web mvc基本同属一脉,只是mvc多了一个视图渲染,网上有些博客介绍...
  • Chen_Victor
  • Chen_Victor
  • 2017年05月22日 01:08
  • 1211

asp.net mvc forms身份认证

web.config配置 增加一个Attribute类,继承自AuthorizeAttributepublic class CustomAu
  • letmefish
  • letmefish
  • 2016年08月10日 16:44
  • 1899

ASP.NET Forms验证详解

创建网站中,常常会使用到身份验证。asp.net中内置了几种身份验证的方式,如Windows、Froms、Passport等。这几种身份验证的方式各有不同。一般来说,网站的身份验证方式都会经过以下几个...
  • moonpure
  • moonpure
  • 2015年04月25日 15:23
  • 2046
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net 三种基本的参数传递方法(web forms)
举报原因:
原因补充:

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