热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET中实现页面间数据传递的多种技术方案

在ASP.NET中,实现页面间数据传递有多种技术方案。其中一种常见方法是通过URL链接地址传递参数,例如在`send.aspx`页面中,可以通过点击按钮将数据附加到URL中,然后在目标页面`receive.aspx`中解析这些参数。此外,还可以利用Session、ViewState、Cookie等机制来实现跨页面的数据共享,每种方法都有其适用场景和优缺点。

第一种方法

通过URL链接地址传递

以下为引用的内容:
send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
    {
        Request.Redirect("Default2.aspx?username=honge");
    }
receive.aspx:
string username = Request.QueryString["username"];这样可以得到参数值。

第二种方法:

通过post方式。

以下为引用的内容:

send.aspx

receive.aspx
string username = Ruquest.Form["receive"];

第三种方法:

以下为引用的内容:

通过session

send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
    {
        Session["username"] = "honge";
        Request.Redirect("Default2.aspx");
    }
receive.aspx:
string username = Session["username"];这样可以得到参数值。

第四种方法:

以下为引用的内容:

通过Application

send.aspx:
  protected void Button1_Click(object sender, EventArgs e)
    {
        Application["username"] = "honge";
        Request.Redirect("Default2.aspx");
    }
receive.aspx:
string username = Application["username"];这样可以得到参数值。

第五种方法:

通过Server.Transfer

以下为引用的内容:
send.aspx:
  public string Name
    {
        get {
            return "honge";
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Server.Transfer("Default2.aspx");
    }
receive.aspx:
   send d = Context.Handler as send ;
        if (d != null)
        {
            Response.Write(d.Name);这样可以得到参数值。
        }

如果在asp.net 2.0中还可以这样用:通过PreviousPage

以下为引用的内容:
PreviousPage d = Context.Handler as PreviousPage ;
if (d != null)
{
Response.Write(d.Name);这样可以得到参数值。
}

也可以这样用:

以下为引用的内容:

send.aspx:

receive.aspx:

string name = PreviousPage.Name;这样可以得到参数值。

如果你的页面中用到了MasterPage的话 Server.Transfer 传递的 PreviousPage就无效了,不知道这是什么原因.所以在用到MasterPage的话,最好用Session或是 Context.Items["username"]来实现。



推荐阅读
  • 在开发iOS应用时,面对不同状态(如数据加载成功、无数据、未登录、网络异常等)的界面管理,如何实现既高效又美观的用户体验?本文探讨了几种最佳实践方法。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
  • 本文介绍了如何通过 XMLHttpRequest 对象在不同浏览器中实现 AJAX 的 POST 和 GET 请求,并详细说明了 XMLHttpRequest 的五个状态及其含义。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文介绍了如何正确配置Ajax POST请求,以确保前端发送的数据能够被后端正确解析。重点在于前端JSON对象的键名需要与后端实体类的字段名严格匹配。 ... [详细]
  • protobuf 使用心得:解析与编码陷阱
    本文记录了一次在广告系统中使用protobuf进行数据交换时遇到的问题及其解决过程。通过这次经历,我们将探讨protobuf的特性和编码机制,帮助开发者避免类似的陷阱。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 本文详细介绍了Elasticsearch中的分页查询机制,包括基本的分页查询流程、'from-size'浅分页与'scroll'深分页的区别及应用场景,以及两者在性能上的对比。 ... [详细]
  • 原文地址:https:blog.csdn.netqq_35361471articledetails84715491原文地址:https:blog.cs ... [详细]
author-avatar
寄到家的_259
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有