在 Web 窗体页之间传递值

在一个窗体中调用另一个窗体的数据 在做机房收费系统时我们经常会遇到 阅读详情

在很多时候,您将需要从一页定位到另一页,将值从一页传递到另一页。例如,可能有一页会提示用户提供名称和密码。当用户提交窗体时,您需要调用另一页对用户进行身份验证。

在页之间共享信息的方法有多种:

  • 使用查询字符串,它将信息追加到 URL 并将该 URL 传递到下一页。这种方法存在使信息可见的缺点。有关详细信息,请参阅 WebClient.QueryString 属性 和 HttpRequest.QueryString 属性 。
  • 使用会话状态存储信息,使用户当前会话中的所有页都可以全局访问这些信息。但是,这种方法会占用服务器内存,并且信息仅在会话过期之前存储,从而比向下一页传递信息具有更多的系统开销。有关详细信息,请参阅 Web 窗体状态管理。
  • 使用自定义页属性,然后从初始页重定向到目标页,此时仍可以读取旧页上的值。此策略在本主题中描述。

Web 窗体页是应用程序中的类,因此可以向处理任何类一样为它们创建属性。但是,由于 Web 窗体页实际上仅在执行页的过程中存在,它们的生命周期非常短。因此,Web 窗体页上属性的用途相当有限,因为它们仅在处理页的过程中存在。但是,如果使用特定的技术将控件从一页传递到另一页,后一页仍可以访问前一页上的属性。

在源页上创建可共享的值

  1. 在代码中,使用属性的标准语法声明页上的一项或多项只读属性。返回要向下一页传递的属性值。

    以下示例显示如何声明名为 Property1 的属性并将它的值设置为该页上文本框的值:

    ' Visual Basic Public ReadOnly Property Property1() As String Get Return TextBox1.Text End Get End Property 
  2. // C# 
  3. public string Property1 { get { return TextBox1.Text; } }
  4. 通过调用 Server 对象( HttpServerUtility 类)的 Transfer 方法调用下一页,并向其传递要将信息传递到的页的 URL。

    以下示例显示如何从事件处理程序中调用名为 WebForm2 的页(在同一项目中):

    ' Visual Basic Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Server.Transfer("Webform2.aspx") End Sub 
  5. // 
  6. C# private void Button1_Click(object sender, System.EventArgs e) { Server.Transfer("Webform2.aspx"); }

若要从所调用的页中获取第一页的属性值,请创建源页类的实例变量。然后可以向其分配 HTTP 对象( IHttpHandler 类的一个实例),即接收初始请求的对象。

在所调用的页中读取源页中的属性值

  1. 创建一个全局实例变量,它被类型化为源页的类。

    以下示例显示如何声明其类名称为 WebForm1 的页所表示的类型的变量:

    ' Visual Basic Public sourcepage as WebForm1 // C# public WebForm1 sourcepage;
  2. 在 Page_Load 处理程序中,从 Context.Handler 对象( IHttpHandler 接口)中获取源页,然后向其分配在第 1 步创建的变量。必须将该处理程序对象转换为源页类的类型。
    注意 只应在该页首次运行(即首次从源页中调用该页)时执行此逻辑。
  3. 从源页中获取属性值,并按照使用任何对象属性的方式来使用这些属性值。
    注意 如果要在除第一页初始化阶段之外的任何页处理阶段中使用属性值,则务必要保存这些属性值(例如以视图状态保存)。有关详细信息,请参阅 Web 窗体状态管理介绍。

    完整的 Page_Load 处理程序可能类似于如下所示:

    ' Visual Basic Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then sourcepage = CType(Context.Handler, WebForm1) Label1.Text = sourcepage.Property1 End If End Sub
  4.  // C# 
  5. private void Page_Load(object sender, System.EventArgs e) 
  6. { 
  7. if (!IsPostBack)
  8. { 
  9. WebForm1 sourcepage = (WebForm1) Context.Handler; Label1.Text = sourcepage.Property1;
  10.  } 
  11. }
请参见

Web 窗体状态管理

Web页面子窗体实时更新父窗体技术实现 今天我们从一个简单的弹窗开始,一路深入到浏览器安全模型、事件循环、工程化封装和未来演进方向。你会发现,一个好的通信系统应该具备:✅灵活性:支持多种通信模式,动态切换✅安全性:遵循最小权限原则,层层校验✅可维护性:模块化封装,接口清晰✅可观测性:日志追踪,错误上报✅健壮性:降级策略,超时重试而这套思想不仅适用于窗口通信,也同样适用于组件通信、微前端集成、甚至跨服务调用。下次当你再写。 阅读详情

相关推荐

三种常见的webForm页面传值方式

b/s编程必须知道的页面传值方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。另外Applcation及cookie有例子。

Web 页面之间传递参数的几种方法

可以在不同的页面之间共享全局变量,或者在一个页面内使用模块化开发来传递参数。10、Fetch API:通过 Fetch API 发送 HTTP 请求,并通过请求的 body 传递数据。11、AJAX:通过 XMLHttpRequest 对象发送异步 HTTP 请求,通过请求的参数传递数据。2、URL hash传递:通过 URL 的 hash 值来传递参数。5、Cookie:通过在浏览器中存储 Cookie 来传递参数。3、URL 路径传递:通过 URL 的路径参数来传递参数。方法来发送请求,并通过。

风清扬的专栏 1万+

LMS Virtual.Lab二次开发:声学仿真结果导出方法(VBScript、Python)

Siemens LMS Virtual.Lab 提供一套集成软件平台用以模拟机械系统的品质属性,如结构完整性、振动噪声、耐久性、系统动力学特性、驾驶的平顺性及操纵的稳定性等。

爱看书的小沐 6021

C#web页面间传值的几种方法

1 QueryString方式 在Test1.aspx页面中添加两个输入框+一个按钮 代码: protected void Button1_Click(object sender, EventArgs e)        {             string url = "Test2.aspx?userno=" + this.TextBox1.Text + "&password="

redredredlu的专栏 7267

三维模型转变为点云模型的好工具——CloudCompare使用小记

普通三维模型能够直观地展示物体的三维全貌,但是在一些场合需要将三维模型变为相应的点云模型进行展示,而使用激光雷达等传感器采集到的点云信息往往只能反应模型表面的情况,或是使用PCL库中的可执行文件进行转换,这两种操作较为麻烦。笔者最近就遇到了这样一个情况,找到了一个名叫CloudCompare(CC)的软件,能够支持将多种文件格式的三维模型转变为点云模型。以下将本人在使用过程中所使用到的一些操作简记下来供朋友们和将来的自己参考。 一、下载 CloudCompare是一款免费软件,其可以在CloudComp

hdlwyt的博客 2万+

营销反作弊之 异常行为分析模型(一),附带python代码

通过对用户行为进行深入的分析,识别出与常规模式不符的异常行为,可以有效检测并阻止虚假广告点击、刷单、点击欺诈等欺诈行为。本文将详细探讨营销反欺诈中异常行为分析的方法,介绍如何通过数据采集、清洗、行为建模与异常检测,准确识别潜在的欺诈行为,并提供 Python 实现代码示例。**监督学习 (Supervised Learning):**在标注数据的帮助下,训练机器学习模型使其能预测未知数据的结果。营销反欺诈异常行为分析的整体流程涉及多个环节,确保通过对用户行为的深入分析,及时识别潜在的欺诈行为。

viviwiky的博客 1230

Web前端实现界面间传值的几种方式

在一个web项目中,会有大量的界面。有很多功能是必须要向后台发送请求才能实现的,而界面间传值可以减少不必要的、重复的发送请求操作,从而减轻后台的负担。 第一种方式:利用缓存(cookie) 假如有A, B 两个界面,要把A的值传给B 首先两个界面中都得引入cookie的原生JS。我直接用网页的了。 <script src="https://cdn.bootcss.com/jquery-coo...

预见的力量 1万+

educoder数字逻辑实训:寄存器设计与应用(Logisim)

第1关:基本寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位基本寄存器,要求上升沿触发,具有异步复位功能。 第2关:移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位右移移位寄存器,要求上升沿触发,具有异步复位功能。 第3关:循环移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位循环右移移位寄存器,要求上升沿触发,具有异步复位功能以及并行数据同步加载功能。 第4关:并行..

qq_52209002的博客 1万+

把某个变量的值从一个aspx传给给另外一个aspx程序有下面的方法

A1。   MFC2001(拔剑茫然心四顾)   所说的用Session传递。     ASP.NET   允许您使用会话状态(HttpSessionState   类的一个实例)保存每个活动   Web   应用程序会话的值。(有关概述,请参阅会话状态。)         会话状态与应用程序状态相似,不同的只是会话状态的范围限于当前的浏览器会话。如果不同的用户正在使用您的应用程序,每个用户都

540

神经元细胞结构刨析(持续更新)

神经细胞的学习笔记

weixin_46596227的博客 2221

【系统架构设计师】论文模板样例:论软件系统架构风格

本人于年月参与项目,该系统为*,在该项目组中我担任系统架构师岗位,主要负责系统整体架构设计。本文以该车联网项目为例,主要讨论了软件架构风格在该项目中的具体应用。底层架构风格我们采用了虚拟机风格中的解释器,因该公交共有几十种不同的数据协议,使用解释器风格可以满足整车数据协议兼容性需求;中间层关于应用层的数据流转采用了独立构件风格中的隐式调用,以减低系统间耦合度、简化软件架构,提高可修改性方面的架构属性;应用系统层采用了B/S的架构风格,统一解决公交行业性难题“实施推广难、维护难”问题。

数据知道的博客 9927

在Web窗体页中向用户传送数据

  在Web窗体页中可以用多种方式访问数据,下面我们要介绍一个基本的数据访问方案,核心过程是创建一个数据集,以便将信息从数据库读入该数据集中,并要将DataGridWeb服务器控件绑定到数据集以显示数据。这个数据访问方案可分解成若干过程,如下所示:  ·创建Web应用程序项目和Web窗体页。  ·创建并配置要绑定网格的数据集。这需要创建一个通过数据库填充数据集的查询。  ·向窗体添

lincnl的专栏 1105

21天教你学会PCIe专栏(21)--项目实例:构建一个基于 PCIe 的 NVMe SSD 阵列存储系统

构建一个高性能的 NVMe SSD 阵列存储系统,利用 PCIe 连接多块 NVMe SSD,实现高带宽和低延迟的数据存储。该系统将支持多种存储配置,如 RAID 0、RAID 1 和 RAID 5,以满足不同的性能和可靠性需求。通过上述步骤,你可以构建一个基于 PCIe 的 NVMe SSD 阵列存储系统。这个系统能够提供高带宽和低延迟的数据存储,并支持多种 RAID 配置以满足不同的性能和可靠性需求。

xiaoheshang_123的博客 200

Web 窗体页的数据绑定表达式

对 Web 窗体页中的各项控件属性进行数据绑定不是通过直接将属性绑定到数据源来实现的。而是通过使用特殊的表达式格式来实现数据绑定的。与要绑定到的数据有关的信息被置入该表达式,然后将表达式的结果分配给控件属性。例如,假设您要将 TextBox Web 服务器控件绑定到一些数据。您创建数据绑定表达式并将其分配给控件的 Text 属性,以便该值将在控件中显示。下面的示例说明控件声明在 HTML 视图中的

kingwkb的专栏 2405

微信8.0所有URL Scheme大全:隐藏入口与使用场景详解 内附195条微信URL Scheme

URL Scheme 类似于一个协议地址,它的作用和网页的https://差不多,只不过它不是打开网页,而是直接跳转到微信App内部的功能页面。→ 打开微信扫一扫→ 打开零钱通详情→ 打开微信面对面支付微信功能的“快捷指令”。整理下来,微信的 URL Scheme 基本覆盖了支付、联系人、扫一扫、小程序、运动设备等多个入口。对开发者来说,这些 Scheme 就像是隐藏的快捷通道,在某些场景(比如支付唤起、活动红包、客服入口)能大大简化流程。微信对外部调用限制非常严格。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2182

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

页面之间传递数据2

在页间传递服务器控件值  [Visual Basic]请参见@ Page 指令 | HttpServerUtility.Transfer | TextBox | IHttpHandler | Handler语言C#Visual Basic全部显示当创建 Web 窗体应用程序时,经常需要将信息从一个 Web 窗体页传递到另一个 Web 窗体页。这允许在一个 Web 窗体页上输入信息,然后将该信息提交

周山至水 1125

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Iframe之间及iframe与父窗体之间值的传递

方法一:ScriptManager.RegisterClientScriptBlock(this,typeof(Page), "NoInformation", "window.parent.frames['Add'].location.reload();", true); 此: 会弹出页面刷新错误 方法二: ScriptManager.RegisterClientScriptBlock(...

weixin_30599769的博客 137

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

如何在子窗体中传递变量值给主窗体

 例如主窗体main.aspx中需要通过点击“选择”按钮时,弹出子窗体sub.aspx,在sub.aspx中通过选取树型控件的“id""name"值,传递变量值给主窗体的txt1,txt2文本框。同时关闭子窗体。 在main.aspx的HTML中,定义函数  function load(str1,str2)    { document.Form1.txt1.value = str1;   

anya的专栏 1867

父窗体与子窗体之间的调用-使用模态窗体之间传递多个值

在web应用中,如何以模态窗口方式新打开子窗口,并往子窗口里传递多个值,而在子窗口中,能接受这些值,并且对这些值修改后,可以再提交传递给父窗口呢?在codeproject上,有篇文章介绍了方法,下面介绍如下: 1 先建一个叫Parent.html的父窗口,写入其中的HTML代码如下:        Parent Webform function OpenChild() {    va

897

掌握Web窗体的生命周期与状态管理

 如果你具有使用 Active Server Pages (ASP) 的经验,你将认识到 ASP 是线性处理模型。ASP 页是按从上到下的顺序处理的。ASP 代码和静态 HTML 的每一行都按其在文件中的显示顺序进行处理。在往返行程中用户操作导致页被发送到服务器。因为此操作导致往返行程,所以服务器必须重新创建该页。在重新创建该页后,将通过与以前相同的从上到下的顺序对该页进行处理,因此,该页未表现出

DillonHunter的专栏 1566

WebForm母版页

母版页:可以把界面的部分代码进行重用 添加新项-母版页 在母版页中界面代码不要写在 <asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder> 和 <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="...

dida5235的博客 241
上一篇: 留言纸条哟!
下一篇: .NET TOOLS
ojw310
博客等级 码龄24年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值