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

WinForm中页面传值的方式 最近自己继续对WinForm进行学习,把自己学习中的一点体会写出来。WinForm中的窗体传值有多种方法,自己结合相关资料总结了一下,大概有5种方式(或者更多):1、通过 ShowDialog()进行传值;2、通过改造构造函数进行传值(加参数);3、通过公共静态类进行传值;4、通过绑定事件进行传值;5、使用Attribute(本人属初学,尚需深入研究,希望高手给与指正) 阅读详情
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; 
 
} 
运行,即可看到传递后的结果了。
三种常见的webForm页面传值方式 b/s编程必须知道的页面传值方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。另外Applcation及cookie有例子。 立即下载

相关推荐

asp.net页面传参的三种方法

asp.net页面传参的三种方法,有需要的可以参考一下。。谢谢

ASP.NET WEB FORMS 页面间的传值方法

ASP.NET WEB FORMS 页面间的传值方法hbzxf(阿好)http://blog.csdn.net/hbzxf        ASP.NET WEB FORMS  给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP

张锋的博客 5436

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

ASP.NET中页面传值的几种方法:是每一个初学者都应了解的。

ASP.NET WebForm--页面传值

Session与Cookie配对使用,Session在服务器端产生SessionID,并将该SessionID返回给客户端,客户端Cookie来存储该SessionID,整过会话过程中,只要保存SessionID的Cookie不丢失,则Session的信息就不会丢失。此外,由于Cookie存储在客户端的硬盘上,因此如果服务器崩溃,它们仍然可用。Cookie用于在用户浏览器上存储小块的信息,保存用户的相关信息,比如用户访问某网站时用户的ID,用户的偏好等,用户下次访问就可以通过检索获得以前的信息。

不求上进的码农的博客 790

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

ASP.NET页面之间传递值的各种表示方法

ASP.NET页面传递值的方式介绍

一、QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。 这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效。 这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的;2.不能传递对象。 使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址;2.在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中;3.在目的页面的代码使用Re

总结: asp.net页面间数据传递(转)

1. Get(即使用QueryString显式传递)     方式:在url后面跟参数。     特点:简单、方便。     缺点:字符串长度最长为255个字符;数据泄漏在url中。     适用数据:简单、少量、关键的数据。     适用范围:传递给自己、传递给另一个目标页面;常用于2个页面间传递数据。     用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用R...

weixin_34281477的博客 692

从零开始:Vivado中自定义串口通信IP核的完整实现

本文详细介绍了在Vivado中从零开始实现自定义串口通信IP核的完整流程,包括Verilog核心代码编写、仿真验证、IP核封装与参数化配置技巧。通过AXI-Lite总线实现动态配置,提升FPGA开发效率,适用于各种嵌入式系统通信需求。

weixin_29274969的博客 326

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

页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值、存储对象传值、ajax、类、model、表单等。但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer。  一、QueryString   QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能...

ba_wang_mao的专栏 7772

拖动无标题栏的cef3窗口

拖动嵌入了cef3的无标题栏win32窗口,本质上就是拖动子窗口移动父窗口这么个事情,这个在自己创建窗口的程序上处理非常简单,cef封装较多,想修改的完善点步骤较多。         cef所用版本3.2623。         就用cefclient来做测试工程,首先建议在cefclient_win.cc的RunMain函数中的app = new ClientAppRenderer();前面

loveyong1990的专栏 6161

带你了解如何分析Jmeter监听器常用图表并定位瓶颈

1.1 Jmeter监听器常用图表 目录 1.1 Jmeter监听器常用图表 1.1-1 查看结果树 1.1-2 汇总报告 1.1-3 集合报告 1.1-4 综合图 1.1-5 断言结果 1.1-6 图形结果 1.1-7 响应时间图 1.2 Jmeter性能瓶颈定位 1.2-1 性能瓶颈产生的原因 1.2-2 性能瓶颈的解决方法 1.2-3 性能瓶颈如何定位 1.1-1 查看结果树 查看结果树:调试利器。可以查看每个请求具体的详情,方便进行测试的比对。有点类似我...

weixin_49029722的博客 4451

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

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

weixin_30810583的博客 85

解决ADS1.2报错Cannot obtain license

报错如下 将licenses文件下的license内容进行修改: 修改为如下内容即可。 # # Generated on 2021-dec-1 by licwizard # PACKAGE ads armlmd 1.200 E32F0DE5161D COMPONENTS="armasm compiler bats armulate axd adwu fromelf armlink codewarrior armsd" INCREMENT ads armlmd 1.200 permanent uncounte

qq_46110320的博客 3463

ASP.NET页面间的传值的几种方法(总结)

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

song530061187的专栏 649

相机标定-张正友棋盘格标定法

(X,Y,Z)为在世界坐标系下一点的物理坐标 ( u , v ) 为该点对应的在像素坐标系下的像素坐标 引入齐次坐标的原因:引入齐次坐标的目的是为了升维,将坐标从二维坐标变为三维坐标。 2.相机成像过程 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 (1)世界坐标系(,,) 描述目标在真实世界中的位置引入的参考坐标系。 (2)相机坐标系(,,) ...

qq_41275123的博客 1万+

【LaTeX】IEEE会议模板中使用BibTex插入文献(解决报错:Something‘s wrong--perhaps a missing \item. \end{thebibliography}

使用IEEE会议论文LaTeX模板时遇到的一个错误,问题描述为:使用Texstudio编译LaTeX模板报错,报错信息提示为。出现的原因为IEEE会议论文模板自带的参考文献引用方式为手动插入,即不使用格式的参考文献,手动将参考文献调整为合适格式,然后粘贴到文本中,我准备将其换成方法引用参考文献。我的替换步骤为删除原始参考文献对应内容,即模板中的: 将以下函数添加到原始参考文献对应位置,对应上文新建的文件。 再次编译出现报错 删除文件夹中的文件 修改模板中的引用名称 引用方法为: 将 替换为 再次编译——

TangPlusHPC的博客 9914

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

原文出自:成都网站优化 QueryString传值: 1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如:   2. 新建一个WEB项目,添加一个页面命名为Test1,在页面中添加一个Button命名为btnLogin,再添加两个TextBox分别命名为tbxUserName和tbxPassWo

挑战未来人生 440

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5658

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

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

kshenalphalo2002的专栏 815

Plant Simulation 快速建模与布局(3)——自动生成的对象 代码“安全”删除管理

《PlantSimulation快速布局建模课程》教授利用SimTalk语言实现高效建模的技术要点,包括批量对象创建、阵列布局、属性管理及自动连接功能。重点讲解对象安全删除机制,通过existsObject检查对象存在性后使用deleteObject方法删除,避免程序报错。课程提供完整代码示例,展示如何通过循环结构实现矩阵布局对象的创建与安全删除,确保代码健壮性,显著提升建模效率。

qq_31964455的博客 119

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: “神奇小子”于品海 再展零成本收购绝技
下一篇: 收集的Blog设置
李煎熬
博客等级 码龄25年 16粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值