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告知“主 ...
随机推荐
- jquery 检测某元素是否含有某属性
检测某元素是否含有某属性 if(typeof($("#aid").attr("rel"))=="undefined")
- 【Android Developers Training】 36. 设置文件共享
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- JavaScript中的排序
<script> //1. 冒泡排序 function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len ...
- JavaScript学习笔记(散)——addLoadEvent函数
先贴源码 function addLoadEvent(func) { var oldonload = window.onload; //存入当前onload事件 if(typeof window.on ...
- 【转】SQL多条件模糊查询解决方案-存储过程
前言: 算法的基本特性在前几篇博客中已经做了详细的说明,经过不断的改进优化,到归仓的时候了,也就是说,该算法告一段落,不再更新. 作为最终的解决方案,简要的总结一下算法特性,以方便读者参阅. l ...
- 【原创】Kafka 0.11消息设计
Kafka 0.11版本增加了很多新功能,包括支持事务.精确一次处理语义和幂等producer等,而实现这些新功能的前提就是要提供支持这些功能的新版本消息格式,同时也要维护与老版本的兼容性.本文将详细 ...
- Python实现浏览器自动化操作
Python实现浏览器自动化操作 (2012-08-02 17:35:43) 转载▼ 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是 ...
- Hibernate update 和 merge 、saveOrUpdate的区别
this.getSession().update(obj); this.getSession().merge(obj); this.getSession().saveOrUpdate(obj); 1. ...
- 18-EasyNetQ:发生错误的情况
这一篇文章让我们看看在消息系统中可能发生的各种错误的情况下,看下EasyNetQ如何处理它们. 订阅服务挂了 当你写了一个windows 服务,用来订阅一个NewCustomerMessage消息. ...
- asp.net Mvc 动态创建Controller
有这么个需求,Urls如下: http://localhost:52804 http://localhost:52804/home/test http://localhost:52804/test1 ...