ASP.NET页面间的传值的几种方法

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;


运行,即可看到传递后的结果了。

(0)

相关推荐

  • ASP.NET页面间的传值的几种方法

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

  • ASP.NET页面间数据传递的几种方法介绍

    Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据传递的各种方法和分析 1.使用Querystring 方法 QueryString 也叫查询字

  • 微信小程序页面间值传递的两种方法

    一:url带参数传递 与前端语言一样,小程序页面间的传递可以通过在路由url后接参数,路由的同时会将参数一并传递到新的页面. index.wxml: <!--index.wxml--> <view class="container"> <!-- 使用navigator组件 --> <navigator url="../demo/demo?title=参数传递">title=参数传递</navigator>

  • asp.net 页面之间传递参数的几种方法

    第一种方法: 通过URL链接地址传递 send.aspx: 复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: 复制代码 代码如下: string username = Request.QueryString["username"];这样可以得到参数

  • ASP.NET 页面间数据传递方法小结

    0.引言 Web 页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用Asp.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 1.数据传递的各种方法和分析 1.1 使用Querystring 方法 QueryString 也叫查询字符串

  • 列举ASP.NET页面之间传递值的几种方式

    1 .列举ASP.NET 页面之间传递值的几种方式. 1).使用QueryString, 如....?id=1; response. Redirect()....  2).使用Session变量  3).使用Server.Transfer 为了在页面之间传递变量内容,ASP.NET给了我们几个选择.一种选择是使用QueryString 属性 一:QueryString. 可以使用查询字符串请求网页.ASP.NET中的QueryString访问此信息.当你加载file.html?x = y时,它解

  • 小程序页面间传参的五种方式实例详解

    目录 前言 1.使用globalData 2.使用storage 3.使用url 3.1 api跳转 3.2 组件跳转 4.使用通信通道 5.使用页面栈 总结 前言 由于经常需要进行页面间传参且各种传参的业务场景也不相同,根据官方文档和日常工作进行了总结.共有五种传参方式,各位有什么关于页面间传参的奇思妙想也可在评论区提出,大家共同探讨 概览: 方式 优点 缺点 globalData 双向传参.全应用可用 不及时 storage 双向传参.全应用可用 不及时 路由 简单方便.及时 正向传参 通信

  • jQuery页面加载初始化的3种方法(推荐)

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(function(){ alert("第一种方法."); }); 第二种: $(function(){ alert("第二种方法."); });  第三种: jQuery(function($) { alert("第三种方法."); }); ps; 不用jQuer

  • Python获取当前页面内所有链接的四种方法对比分析

    本文实例讲述了Python获取当前页面内所有链接的四种方法.分享给大家供大家参考,具体如下: ''' 得到当前页面所有连接 ''' import requests import re from bs4 import BeautifulSoup from lxml import etree from selenium import webdriver url = 'http://www.testweb.com' r = requests.get(url) r.encoding = 'gb2312'

  • Vue父子模版传值及组件传值的三种方法

    这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档 vue2.0 http://vuefe.cn/guide/ vue-router2.0https://router.vuejs.org/zh-cn/essentials/getting-started.html 第一种 <div id="example"> <my-component></my-component> </div> <script src="..

随机推荐