ASP.NET-页面间的数据传递
暑假期间做项目时遇到相关问题,总结如下,与大家分享
1.通过查询字符串传递
这种方式是将参数附加在网址的后面,传递数据简单,但容易暴露,一般用于传递一些简单的数据。
例如,在Default1.aspx上的单击事件如下:
protected void Button1_Click(object sendar,EventAgrs e)
{
Request.Redirect(“Default2.aspx?id=3”);
}
在Defaul2.aspx可以按如下方式获得数据。
string id=Request.QueryString[“id”];//获得参数值
2.通过POST方式
这种方式采用表单提交数据。
例如,在Default1.aspx包含如下代码:
<form id=”form1” runat=”server”>
<div>
<asp:TextBox ID=”username” runat=”server”></asp:TextBox>
<asp:Button ID=”Button1” runat=”server” Text=”Button”>
</div>
</form>
在Default2.aspx中可以按如下方式获得数据。
string username=Request.Form[“username”];//获得表单域的
3.通过Session
这种方式一般是传递会话级共享数据。
例如,在Default1.aspx上的按钮单击事件如下:
protected void Button1——Click(object sendar,EventArgs e)
{
Session[“username”]=”honge”;
Request.Redirect(“Default2.aspx”);
}
在Default2.aspx中可以按如下方式获得数据。
string username=(string) Session[“username”];//获得Session中的数据
4.通过Application
这种方式一般是传递应用级共享数据。
例如,在Default1.aspx上的按钮单击事件如下:
protected void Button1——Click(object sendar,EventArgs e)
{
Application[“uername”]=”honge”;
Request.Redirection(“Default2.aspx”);
}
在Default2.aspx中可以按如下方式获得数据。
string username =Application[“username”];//获得Application中的数据
5.通过PervoiusPage
如果两个ASP.NET网页属于同一个应用程序,当源网页中利用Server.Transfer()或者按钮控件的PostBackUrl属性切换到目标网页时,目标网页可以使用PerviousPage属性来获取源网页中的公共属性或控件值。
如果要获取源网页中的公共属性,需要在目标网页的页面代码中添加如下代码:
<%@PervoiusPageType VirtualPath=”~/SourcePage.aspx”%>
如果仅仅获取源网页中的控件值,则不需要添加这行代码。
例如,在Dfault1.aspx.cs包含如下代码:
public string Name
{
get {return
“honge”;}
}
protected void Button_Click(object
sendar,EventArgs e)
{
Server.Transfer(“Default2.aspx”);
}
在Default2.aspx页面中如果增加了如下代码:
<%@PerviousPageType
VirtualPath=”~/Default1.aspx”%>
那么,在Default2.aspx中就可按如下方式获得数据:
string name=PerviousPage.Name;
ASP.NET-页面间的数据传递的更多相关文章
- React Native移动开发实战-3-实现页面间的数据传递
React Native使用props来实现页面间数据传递和通信.在React Native中,有两种方式可以存储和传递数据:props(属性)以及state(状态),其中: props通常是在父组件 ...
- ASP.NET 页面间数据传递的方法
在做WEB开发时,很多地方会涉及到页面间的数据传递.这几天在完善教务基础系统,遇到了这个问题,上网查了一些资料,现总结如下: 说到页面间数据传递,很多人都会想到通过像Session这样的全局变量,但是 ...
- 详细介绍ASP.NET页面间数据传递的使用方法
源码:http://www.jinhusns.com/Products/Download/?type=xcj 在ASP.NET中,页面间数据传递的方法有很多.下面为大家总结一下,页面间数据传递的方法. ...
- ASP.NET页面间数据传递的方法<转>
ASP.NET页面间数据传递的方法 作者: 灰色的天空2 来源: 博客园 发布时间: 2010-10-28 11:06 阅读: 822 次 推荐: 0 原文链接 [收藏] 摘要:本 ...
- ASP.NET页面间传值总结
本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此, ...
- Asp.net页面间传值方式汇总
七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Application传值,利用某些控件的PostBackUrl属性和使用@Previous ...
- ASP.NET页面间传值的几种方式
ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...
- 使用postMesssage()实现跨域iframe页面间的信息传递----转载
由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现: 1. 子页面url传参 ...
- WinForm登陆:窗体间的数据传递
1. 登陆逻辑 FrmMain 为主窗体(启动窗体) FrmLogin 为登陆窗体 在“主窗体”中使用ShowDialog()方法显示“登陆窗体”,并通过“登陆窗体”的DialogResult告知“主 ...
随机推荐
- celery_01 _celery安装启动
简介:celery是一个分布式队列的管理工具,提供了快速管理和操作分布式任务队列的一些方法的框架 特点:1.celery易于使用和维护,不需要进行很复杂的配置,简单的celery例子: from ce ...
- Strom序列化机制
Storm 中的 tuple可以包含任何类型的对象.由于Storm 是一个分布式系统,所以在不同的任务之间传递消息时Storm必须知道怎样序列化.反序列化消息对象. Storm 使用 Kryo库对对象 ...
- Mac机上安装nvm遇到的坑--nvm command not found
在Mac机上,我最开始是通过homebrew来安装nvm,如下: $ brew install nvm 安装完成后,在命令行输入nvm list,发现出现如下提示: What?!!我不是才安装了nvm ...
- Java学习笔记--脚本语言支持API
Java语言的动态性之脚本语言支持API 随着Java平台的流行,很多的脚本语言(scripting language)都可以运行在Java虚拟机啊上,其中比较流行的有JavaScript.JRuby ...
- chrome 浏览器最小字体为12px 的解决办法
http://banri.me/web/webkit-text-size-adjust.html 对div进行缩放 12*0,75 = 9 px -webkit-transform: scale(0. ...
- MySQL访问控制实现原理
MySQL访问控制实现原理 MySQL 访问控制实际上由两个功能模块共同组成,从第一篇的第二章架构组成中可以看到,一个是负责 “看守 MySQL 大门”的用户管理模块,另一个就是负责监控来访者每一个动 ...
- 12.exception对象
excepton对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生了这个对象,如果一个jsp页面要应用此对象,就必须把isErrorPage设置为true,否则无法编译.它实际上是java. ...
- 怎么利用composer创建laravel项目
前提:已经安装了composer的电脑 创建laravel项目: 第一步: 找到你要创建文件的地方 然后打开doc,输入:composer create_project laravel/laravel ...
- jzoj3760. 【BJOI2014】Euler
题目大意: 欧拉函数 φ(n) 定义为不超过正整数 n 并且与 n 互素的整数的数目. 可以证明 φ(n) = n ∗ ∏ (1 − 1 / pi). 其中 pi(1 <= i <= ...
- C# Socket编程笔记(自己看,转载)
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句.(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是 ...