`

如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值

    博客分类:
  • C#
阅读更多
1.通过Cookie,因为它既可以在服务器端对其进行操作,也可在客户端对其进行操作

但是缺点是不安全,而且有时客户端会由于安全问题禁用Cookie!

例子:

以下是父页的Html代码

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="main.aspx.vb" Inherits="zero.main"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <title>main</title>
  <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <script language="javascript" charset="gb2312">
  function searchvalue()
  {
   var sql="select * from companyjob";
   SetCookie("SendSql",sql);
   var url="child.aspx";
   window.open(url,'_blank');
  }
    function SetCookie(name, value)
  {
   document.cookie = name + "=" + value;
  }
  </script>
</HEAD>
<body MS_POSITIONING="GridLayout" >
  <form id="Form1" method="post" runat="server">
   <INPUT id="Hidden1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" type="hidden"
    name="Hidden1" runat="server"><INPUT style="Z-INDEX: 102; LEFT: 96px; POSITION: absolute; TOP: 144px" type="button" onclick="searchvalue();"
    value="Open" id="Button1" name="Button1">
   <asp:Button id="Button2" style="Z-INDEX: 103; LEFT: 256px; POSITION: absolute; TOP: 152px" runat="server"
    Text="Button"></asp:Button>
  </form>
</body>
</HTML>


child 页[子页]


<%@ Page Language="vb" AutoEventWireup="false" Codebehind="child.aspx.vb" Inherits="zero.child"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <title>child</title>
  <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <script language =javascript >
  function getv()
  {
  alert(document.forms("Hidden1"));
  
   document.all("Hidden1").value=document.forms("Hidden1");
  }
  
  </script>
</HEAD>
<body MS_POSITIONING="GridLayout" >
  <form id="Form1" method="post" runat="server">
   <INPUT style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" type="hidden" id="Hidden1"
     name="Hidden1" runat="server"></FONT>
  </form>
</body>
</HTML>



.vb文件


If Not IsPostBack Then
            'Response.Write(Request.Form("Hidden1"))
            Dim cookie As HttpCookie = Request.Cookies("SendSql")
            If Not cookie Is Nothing Then
                Response.Write(cookie.Value)
            End If
        End If





2。是思归大哥介绍的方法

在父页中加入一个非runat=server的form表单,用来提交隐藏控件的值到子页

<form method="post" target="_blank" id="form2">
  <input type=hidden name="query">
</form>

<script language="javascript">
function searchvalue()
{
var sql="select * from companyjob";
document.all.form2.query.value=sql;
document.all.form2.action="child.aspx";
document.all.form2.submit();
}
</script>


子页的后台代码中 (.vb)

在Page_Load事件中写

Response.Write(Request.Form("query"))
分享到:
评论

相关推荐

    如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

    当要求不刷新父页面,并且不能使用查询字符串来传递数据时,开发者往往会考虑使用Cookie作为替代方案。Cookie是一种能够在客户端和服务器之间存储信息的小型文本文件,它可以在服务器端进行设置,在客户端进行读取,...

    页面之间的传值练习

    在软件开发过程中,尤其是构建多页面应用程序时,页面之间的数据传递是必不可少的环节。"页面间的传值"(Page-to-Page Value Passing)是Web应用开发中的一个关键知识点,它涉及如何在用户从一个页面导航到另一个...

    ASP.net跨页面传值方式

    本文将详细介绍五种常见的跨页面传值方式:使用QueryString变量、使用Application对象变量、使用Session变量、使用Cookie对象变量以及使用Server.Transfer方法。 #### 二、使用QueryString变量 **定义:** ...

    ASP.NET常见页面传值

    在ASP.NET中,页面间或页面内的数据传递是至关重要的,它允许我们维持用户的状态信息,或者在不同请求之间传递数据。本篇文章将详细介绍三种常见的页面传值方法:Session、QueryString和Server.Transfer。 1. ...

    ASP.net页面传值

    - 跨页面共享:可以在多个页面之间共享数据。 - **缺点**: - 性能消耗:服务器需要为每个会话保存状态,增加服务器负载。 - 会话管理复杂:需注意会话过期等问题。 **2. 示例代码** - **源页面**(发送数据):...

    asp.net实现页面传值的方法集合

    但需要注意的是,如果目标页面需要访问当前页面的控件,则必须使用`Server.Transfer`,而不能使用`Response.Redirect`。 #### 三、使用PostBackUrl进行传值 从ASP.NET 2.0开始支持`PostBackUrl`属性,它可以实现在...

    ASP.NET传值方法详解

    **Server.Transfer**方法用于在不同页面之间进行数据传递,新页面可以访问前一个页面的状态和视图状态。 **示例:** ```csharp // 在源页面 Server.Transfer("~/TargetPage.aspx", true); // 在目标页面 string ...

    GridView72绝技.rar 页面传值

    本主题将深入探讨“GridView72绝技”中的一个关键技巧——页面传值,这涉及到如何在GridView的行操作(如点击事件)中获取并传递选定行的数据到其他页面或功能模块。 首先,了解GridView的基本结构和功能是必要的。...

    html页面传值

    HTML页面传值是Web开发中的基础技能,主要涉及在不同HTML页面之间或者同一页面内传递数据的方法。在本文中,我们将深入探讨几种常见的HTML页面传值技术,包括URL参数、表单提交、cookies、sessionStorage和...

    JSP中java代码与js之间的传值

    在JavaServer Pages (JSP) 中,我们经常需要在Java代码和JavaScript之间传递数据。这在构建动态网页时尤其重要,因为Java代码通常用于处理服务器端逻辑,而JavaScript则负责客户端交互。这篇博客将探讨如何在JSP中...

    VS前段发送数据到后端aspx文件传值到cs文件

    1. **AJAX调用**:在JavaScript中,可以使用`XMLHttpRequest`对象或者更现代的`fetch API`发起一个AJAX请求,向服务器的aspx页面发送POST或GET请求,携带用户填写的报名信息。例如,使用jQuery的`$.ajax()`或`$.post...

    ajax与Servlet,传值Demo

    4. **文件“ajax不刷新页面传值”** - 这个文件很可能是实现Ajax局部刷新功能的示例代码,可能包含JavaScript的Ajax实现、HTML页面以及Servlet的处理代码。通过阅读和理解这个文件,可以深入理解Ajax如何与Servlet...

    如何处理多页面重定向到同一页面后的返回问题 .doc

    在开发Web应用时,我们经常会遇到多页面重定向到同一个页面的情况,这在用户操作流程中可能会引发返回问题。例如,用户可能希望点击浏览器的“返回”按钮回到上一步的操作,但如果多页面重定向到同一页面,传统的...

    各个软件公司面试题答案

    - 自定义的可重用控件,可以在多个页面中使用,包含多个基本控件和自定义逻辑。 10. ViewState: - 一种用于在页面回发时保持控件状态的技术,可以禁用,但并非所有控件都支持禁用。 【JavaScript知识点】 1. ...

    C#开发经验技巧宝典

    0415 使用QueryString变量在页面之间传值 231 0416 页面定时刷新如何实现 232 0417 显示只有数字的验证码图片 232 0418 显示数字和英文字母组合的验证码图片 232 0419 页面定时刷新后跳转到其他页 233 ...

    Asp.net2.0面试题(word文档)

    2. **页面间跳转及传值**: - 使用`Response.Redirect()`方法进行页面跳转,通过URL参数、Session、ViewState或Cookie传递值。 - `QueryString`是通过URL传递参数,`Session`用于跨页面保存用户状态,`ViewState`...

    129 .net面试题

    此方法不会刷新浏览器,也不会改变 URL,适合于后台逻辑处理后需要跳转到另一个页面的情况。 #### 3. 斐波那契数列的递归计算 斐波那契数列定义为 F(n) = F(n-1) + F(n-2),其中 F(1) = F(2) = 1。要计算第 30 个...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

Global site tag (gtag.js) - Google Analytics