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

转载 2005年03月02日 10:20:00

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事件中写

 Request.Form("query")

相关文章推荐

asp.net页面传值之QueryString

下面我们创建两个页面测试QueryString 页面间的传值。 set.aspx代码如下: QueryString传值 ...

ASP.Net篇之QueryString与页面传值的总结

ASP.Net篇之QueryString与页面传值的总结 首先补充一下Session的删除: 移除个别:Session.Remove("aa"); 全部清除:Session.Clear(...

.NET 页面之间的传值

.NET 页面间传值的几种方法 QueryString传值: 1. 这是最简单的传值方式,但缺点是传的值会显示在浏览器的地址栏中且不能传递对象,只适用于传递简单的且安全性要求不高的整数值,例如: ...

ASP.NET页面之间传值

asp.net中页面之间传值问题

1。使用QueryString       使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不...

net页面之间传值

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)