跨页传值c#
Application
(4)URL地址中的参数
(5)通过隐藏字段来传递数据 (6)Server.Transfer (7)通过序列化对象 (8)........
下面就分别一一介绍: (1)使用Session
session对象是用来记录浏览器端的变量,是个别浏览器端专用的变量,对于每一个浏览器访问时都会自动产生一个seseion对象,该对象提供一个存储场所,用来存储仅仅
对该访问者在会话的活动期间打开的网页可用的变量和对象。这样就用可以用来在Web间传递专对单个浏览器端使用的数据。其定义方法:session(“变量名”)=数值 如:Session
["testTransmitVaraint"] = "testSession";
session对象所定义的变量只是浏览器端的专用变量,所以适用于局部会话间的网页数据传递。
(2)使用Cookie
cookie是在
浏览页面时Web服务器在浏览器端所写入的一些小文件,cookie是存放在浏览器端本机磁盘上,而不是存放在服务端的。可以在发送数据时写入cookie,接收时读取cookie完成数据在Web页面
间的传送。 发送页面
HttpCookie cookie = new HttpCookie("testCookie"); cookie.Value = TextBox1.Text; Response.SetCookie(cookie); 取Cookie页
HttpCookie cookie = Request.Cookies["testCookie"]; Response.Write("<br>HttpCookie = " cookie.Value);
(3)使用Application
application对象是
用来记录整个网站信息的,是记录不同浏览器端共享的变量,无论有几个浏览者同时存取网页,都只会产生一个application对象实例。用户可以通过定义application整站共享变量来实现网
页间的数据传递。其定义方法是:application(“变量名”)=数值
历史老照片不能说的秘密慈禧军阀明末清初文革晚清
如:Application
["testApplication"] = "testApplication";
application对象所定义的变量对于所有浏览端都是可见的,所以其使用场合是所有浏览端共享的全局数据传递。
(4)使用URL地址
中的参数
URL方式是实现Web间数据传递最基本的方法,操作简单,可很方便地实现不同Web页面间的数据传递,但其安全性比较差。将要传递的数据附加在网页地址(URL)
后面进行传递。如:http://192.168.0.1/testweb.aspx?username=liming,其中?后面所跟着的字符串便是传递的数据,=前的是变量名,=后面是数值,可以使用request对象来获取传递
的数据。如:request(“username”)。这种方法在传递数据过程中其数据内容在URL栏中是显示的,用户能看到提交的内容。
以上四种方法的适用范围:简单变量如基
本的数据类型的数据
(5)使用隐藏字段来传递数据
通过在网页上制作表单交互区域,用户在浏览器端输入数据,然后通过form提交到服务器,在提交后的接受form数据的页面里就
可以接收到相应数据,即form的action页面中可以使用request对象来接收所传递的数据。 如:
发送页面:
<bodyMS_POSITIONING="GridLayout">
<formid="Form1" method="post" runat="server"> <tableborder="0" align="center" width="100%"> <tr>
<tdalign="center"><inputtype="hidden" name="UserID" value="测试隐藏字段"></td>
</tr> <tr>
<tdalign="center">
<asp:Buttonid="Button1" runat="server" Text="ServerButton Goto Page"></asp:Button></td>
</tr> <tr>
<tdalign="center"></td> </tr> </table> </form> </body>
然后在cs文件中
添加下面的代码:
private void Button1_Click(object sender, System.EventArgs e) {
Server.Transfer("RequestHidden.aspx"); }
接收页面:
request(“UserID”)
利用form页面的文本框来接收用户数据的输入,通过submit按钮提交后在targetweb页面中使用request来接收数据。
适用范围:基本的数据
类型的数据,不宜传递对象变量等复杂的数据
(6)使用Server.Transfer
这个方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个
页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来
说,使用这种方法是简洁的同时又是面向对象的。 使用这种方法的整个过程如下: 1,在页面里添加必要的控件 2,创建返回值的Get属性过程
3,创建可以返回表单
的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面 5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引
用,通过它,就可以使用存取前一个页面的控件的值了
此方法的适用范围:简单变量如基本的数据类型的数据,复杂变量如结构、类变量、DataSet、DataTable等
具体的事例,请见原代码。 发送页面
private void Button1_Click(object sender, System.EventArgs e) {
Server.Transfer
("secondpage.aspx"); }
public string FirstName { get {
return first.Text; } }
public string LastName { get {
return last.Text; } }
接收页面
在aspx中加入<
%@ Reference Page="firstpage.aspx" %>指令 firstpage fp;
private void Page_Load(object sender, System.EventArgs e)
{
if (!
IsPostBack) {
fp = (firstpage)Context.Handler;
Response.Write("<br>FirstName = " fp.FirstName); Response.Write
("<br>LastName = " fp.LastName); } }
此方法的适用范围:简单变量如基本的数据类型的数据,复杂变量如结构、类变量、DataSet、
DataTable等
跨页传值c#的更多相关文章
- JS实现HTML静态页传值的方法
JS实现HTML静态页传值的方法 作者:前端开发-武方博 发布:2012-10-29 分类:javascript 阅读:8,735次 此处使用JS方式实现静态页之间值传递,其实很简单,废话不多 ...
- 【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key= ...
- WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性和超链接点击弹出警示框
一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值方式: href="地址?key=v ...
- 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】
阅读目录 1. URL 链接后追加参数 2. Form 3. 设置 Cookie 4. 设置 Session JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总 ...
- 网页打印A4纸-----表格在跨页时自动换页打印的实现 (转)
在最近所做的一个项目中,需要通过网页来打印不少的表单,但是又不想每个打印页签各占用一个页面,这样就需要生存很多不同的冗余页面,为了减少冗余,所有的表单通过jquery的页签tab来实现的. 一 :基本 ...
- Candence下对“跨页连接器(off-page connector)”进行批量重命名的方法
parts.ports.alias等等均可以在“属性编辑器(Property Editor)”中进行查看编辑,并通过复制到Excel等表格软件来进行批量修改.之后再粘贴回去的方法进行批量编辑.但是“跨 ...
- 解决SMARTFORMS 中table 控件单行跨页的问题
在CX项目中,MM模块做了大量的的单据打印的工作,一个问题困扰了我好久,一直不能解决.当物料描述很长时,table控件在单元格中能自动换行,这样就有可能在换页处出现一行记录的一部分打在上一页,一部分记 ...
- A在SP.NET跨页多选
在ASP.NET跨页多选 本文介绍怎样在ASP.NET中实现多页面选择的问题.其详细思路非常easy:用隐藏的INPUT记住每次选择的项目,在进行数据绑定时.检查保存的值,再在DataGrid中进行选 ...
- ID基本操作(复制页面)(移动页面)(调整跨页页数)(版面调整)5.16
1.在页面面板中选择要复制的页面.拖动到新建页面图标上就可以新建页面. 2.在页面面板中选择要复制的页面.点击右上角的下箭头选择直接复制跨页. 3.在页面面板中选择要移动的页面.用鼠标拖到要移动的地方 ...
随机推荐
- 通过python给mysql建表
一.python连接mysql from sqlalchemy import create_engine # 数据库数据 HOSTNAME = '127.0.0.1' # linux本地 PORT = ...
- sqoop2的安装配置
1.下载 wget http://mirror.bit.edu.cn/apache/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz 2.解压 tar -z ...
- HTML5 Canvas ( 创建图形对象 ) createImageData
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 表析LESS、Sass和Stylus的异同
. 首页 博客园 联系我 前言:CSS预处理语言. 基本差别. 基本语法. 变量与作用域. 混合(Mixins). 嵌套实现后代选择器. 继承. 条件语句. 循环语句. 综合对比. 留言评论 返回顶部 ...
- PHP 使用协同程序实现合作多任务
多任务协作 如果阅读了上面的logger()例子,那么你认为“为了双向通信我为什么要使用协程呢? 为什么我不能只用常见的类呢?”,你这么问完全正确.上面的例子演示了基本用法,然而上下文中没有真正的展示 ...
- egret 配置设置
修改index.html的时候,要主要template文件夹下的web文件夹也有个index.html,两者控制的不一样 初始安装新建项目后调试这样的情况.重新安装引擎和下载egret安装包安装,默认 ...
- as3 运算与检查String 是否能够正确转换成数 值
如果忘了对一个Number 型变量初始化,那么这个变量参与的任何数学运算的结果都是NaN:如果最终结果赋值给有声明类型的变量,那么为该变量的默认值(仅限uint ,int). var a:Number ...
- SpringMvc 文件上传后台处理
springMVC后台参数是通过MultipartFile类来转化Request的文件上传,但需要apache下fileupload的jar包做支持. 在springMVC的dispatcher-co ...
- 代码报错记录-MAVEN-2
报错: 编译错误,程序包org.junit找不到 原因: 这个是父项目,报错是在子项目中,子项目使用了父项目的junit包,由于scope是test,导致子项目在编译时找不到junit, 修改: 将父 ...
- python中带下划线的变量和函数的意义
表示私有属性,只能在自己的实例方法里面访问. self.__name会被编译成self._Bar__name以达到“不被外部访问”的效果 示例如下: 变量: 1. 前带_的变量: 标明是一个私有变 ...