ASP2.0-跨页面传值技巧总结

.net(c#)跨页面传值方法总结   .net(c#)跨页面传值方法总结2009-07-17 11:15方式1:在接收页 的html代码里加上一行: WebForm1 fp=(WebForm1)Context.Handler;this.TextBox1.Text=fp.name; //name 是第一页的public变量Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。方式2 阅读详情

 

 

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。

1.  使用QueryString变量

QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    string s_url;
    s_url = "b.aspx?name=" + Label1.Text;
    Response.Redirect(s_url);
}


b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    Label2.Text = Request.QueryString["name"];
}

2.  使用Application 对象变量

Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Application["name"] = Label1.Text;
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    Application.Lock();
    name = Application["name"].ToString();
    Application.UnLock();
}

3.  使用Session变量

想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Session["name"] = Label.Text;
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Session["name"].ToString();
}

4.  使用Cookie对象变量

这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    HttpCookie cookie_name = new HttpCookie("name");
    cookie_name.Value = Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Request.Cookie["name"].Value.ToString();
}

5.  使用Server.Transfer方法

这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

a.aspx的C#代码

public string Name
{
    get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    a newWeb; //实例a窗体
    newWeb = (source)Context.Handler;
    string name;
    name = newWeb.Name;
}


 

总结(Ajax无刷新删除和跨页面传值) 今天下午通过老师讲解我深刻的认知到了自己的不足,首先,分配时间不足,而且写编程不熟练,特别是Ajax无刷新删除和跨界面传值所以打算写一篇加深一下今天听课后的印象 一、Ajax无刷新删除 1、首先在编辑操作模板时添加一个A标签用来传递ID <a href="#" class="delete" data-id='<%# Eval("Id") %>'>删除</a> 2、在Ul层里创建一个一般处理程序(后缀名为ashx) var id = c 阅读详情

相关推荐

asp.net获取后台之间传值

这是我从网上找到的不错的获取(绑定)后台代码中变量值,有好几种方法,挺详细的,就复制下来了

ASP.NET跨页面传值技巧(VB.NET篇)

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。 1.  使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子: a.as...

weixin_34321977的博客 361

Ghidra逆向工具入门:从安装到实战分析baby.exe(附详细配置截图)

本文详细介绍了Ghidra逆向工具的安装配置与实战应用,通过破解CTF题目baby.exe的全过程展示其强大功能。从Java环境搭建到插件配置,再到反编译技巧与动态调试方法,帮助读者快速掌握这款免费开源的反编译神器,有效替代收费的IDA Pro工具。

weixin_29252171的博客 352

vb.net 数组均为传址,变量可以传值

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim a(1), b As Integer b = 5 For i = 0 To 1 a(i) = i Next Console.WriteLine("改变前的值:") For i = 0 To 1 .

m0_52395907的博客 523

智能座舱(七)——智能音频系统

本文剖析车载智能音频系统的核心技术,聚焦音响、功放、麦克风和广播收音机四大组件。音响系统通过多声道布局(如23扬声器阵列)结合动态声场校准算法,实现三维声场覆盖;功放系统采用高效D类技术,支持OTA音效调整和故障自愈;麦克风阵列运用波束成形技术实现精准拾音,并保障隐私安全;广播系统融合数字与网络技术提升音质。核心在于硬件标准化与算法差异化的协同,未来将朝集成化、AI个性化方向发展。

DC20160101的博客 1573

单点DToF激光测距传感器各家产品的比较

汇总DToF 单点测距传感器的相关信息

Linux 设备驱动概述及开发环境构建 (一) 1772

【VB.NET】窗体之间传值

Form1.vb的VB.Net代码: Private  Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click    form2.Instance(Me)    form2.ShowDialog()End sub Form2.vb的VB.Net代码: Pr...

weixin_34380948的博客 615

第1部分 基础算法(提高篇)--第2章 二分与三分1439:【SCOI2010】传送带

1439:【SCOI2010】传送带 时间限制: 2000 ms 内存限制: 65536 KB 提交数: 372 通过数: 212 【题目描述】 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R。现在lxhgww想从A点走到D点,他想知道最少需要走多长时间。 【输入】 输入数据第一行是4个整数,表示A和B的坐标,分别为Ax,Ay,Bx,By 第二行是4个整

zqhf123的博客 837

VB.Net 两个窗体之间的传值及修改

在做机房收费系统,遇到这样一个问题:在上下机窗体(FrmLoadOnff)中,存在一个文本框(txtCountOnline)显示当前上机的学生数。在查询学生上机状态的窗体中,存在全部学生下机菜单(menuAllLoadoff)、和选中学生下机菜单(menuSelectLoadoff)。界面分别如下: 上下机窗体(FrmLoadOnff):

大道至简 1万+

银河麒麟V10系统下VLC播放器安装全攻略(附3.0.9.2版本离线包下载)

本文详细介绍了在银河麒麟V10操作系统无网络环境下,从零开始编译安装VLC 3.0.9.2播放器的完整攻略。通过构建本地YUM仓库解决依赖问题,提供离线资源包下载,并逐步指导完成编译环境配置、软件编译与安装,帮助用户在国产麒麟系统上成功部署强大的多媒体播放能力。

a2b3c4d5e的博客 1191

AI学习指南RAG篇(19)-API调用与集成

通过上述API调用示例,您可以方便地将RAGFlow与其他系统集成,实现数据集管理、文档处理、会话管理等功能。希望本文的介绍能帮助您更好地理解和使用RAGFlow的API。

俞兆鹏的博客 2545

VB.NET学习笔记:再谈WinForm窗体间相互传值(单值、多值)——属性、委托和事件

在《VB.NET学习笔记:窗体显示及互相传值》一文中,通过默认的窗体实例、保持窗体引用的全局性或在窗体构造函数中把窗体指针作为参数传递,这些方法都是直接操作窗体中的任何控件来读取和改变窗体内的信息。这样会在窗体间大量互相引用各自的成员,造成了彼此之间存在着很大的耦合性,非常不利于窗体模块间的独立,破坏了类型封装性的原则。在.NET下,还为我们提供了另外一种强大的机制来实现窗体通信,这就是委托。 属...

zyjq52uys的博客 3588

无人机——电机篇(一)

1. 电机的定义 电机俗称“马达”,是无人机的动力来源,无人机通过改变电机的转速来改变无人机的飞行状态。即改变每个电机的速度,使得无人机能够盘旋空中,上升或下降,或向各个方向移动。2. 电机的分类 电机分为:“无刷电机”和“有刷电机” - 无刷电机:是采用半导体开关器件来实现电子换向,具有可靠性高、低干扰、低噪声低、寿命长等优点。一般应用在稍大型的飞行器,载重大,可以有更广泛的用途。 - 有刷电机:是内含电刷装置的将电能转换成机械能(电动机)或将机械能转换成电能(发电机)的旋转电机。有刷电机是所有电机的基

weixin_46066938的博客 1万+

ASP.NET的跨页面控件传值常用方法

·ASP.NET 2.0开始有得一项新功能,是ASP所不具备的 ·可以理解为,被设置了PostBackURL的控件,将整个页面提交给服务器,服务器有了访问这个被提交页面上的空间的权限。 `IsPostBack(是否回发页面) IsPostBack是Page类有一个bool类型的属性,用来判断针对当前Form的请求是第一次还是非第一次请求。当IsPostBack=t

浓汤拉面的专栏 1261

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

大数据分析实验,包含五个子实验:wordCount实验,PageRank实验,关系挖掘实验,k-means算法,推荐系统算法。

805

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Asp.net中进行跨页面传值的常用方法

跨页面傳值 QueryString Form-Post控件傳遞 Cookies傳遞 Application傳遞 Session傳遞 ViewState["DataTable_Detail"] QueryString 調用方法: Request.QueryString[“ParaName”]; 傳遞信息的大小是2K 2k中包括地址“Http://....” 獲取信息的形式,只能是一個字符串 Server.Transfer Response.Redirect的小Bug Server.Tra..

qq_39656138的博客 454

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

asp.net跨页面传值之控件传递

asp.net跨页面传值之控件传递

一字并肩王的博客 621

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ASP.NET 2.0中实现跨页面提交

  在ASP.net 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx。很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制。熟悉ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解

Hank_Huang的专栏 1302

ASP.NET 2.0中的跨页面提交

 ASP.NET 2.0中的跨页面提交简介        在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx。很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制。熟悉ASP/JSP/PHP的朋

李涛的技术专栏 1160

ASP.NET中页面间的传值方式和各方式的优缺点

ASP.NET中页面间的传值方式主要有:URL、Session、Cookies、Server.Transfer、Application和跨页面传送六种。以下是这六种的优缺点: 1.URL传值 这是经典的传值方式,这种方法的使用非常简单,不过所传递的值是会显示在浏览器的地址栏上的,而且不能传递对象。所以这种方法一般用于传递的值少且安全性要求不高的情况下。在*.aspx页面开发中可以使用超级链接文

SpringFileld的专栏 971

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

 列举ASP.NET页面之间传递值的几种方式---------------------------------------------------------------------------URL、Session、Cookies、Server.Transfer、Application和跨页面传送。-------------------------------------

joy_liang的专栏 3928

asp.net2.0的跨页面提交

asp.net2.0的跨页面提交简介        在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如FirstPage.aspx中的button只能提交到 FirstPage.aspx,而不能提交到SecondPage.aspx。很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制。熟悉ASP/JSP/PHP的朋友大概很不习

→遇建← 799

ASP.NET中页面间传值,以及Gridview中的控件示例

 文章开始的声明:优快云上高手太多,看到这样简单的东西当然会发笑,我是一个菜鸟,请高手跳过,谢谢。 本来是没打算写的,一个学妹问起,我就干脆写了。首先,说明一下ASP.NET页面间传值的一下方法。方法有一些:1,url传值,如: CheckPwd.aspx?user=uservalue&pwd=pwdvalue 2,Session传值 如:Session("role")="A

好好学习,天天代码 5420
上一篇: .NET精辟要点整理(补充中...)
下一篇: Windows2003-控制面板失效的解决办法
MasterFT
博客等级 码龄20年 48粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值