2013-05-15 67 views
0

我在画布上有一个语音气泡(气球)。 我允许用户单击此气球以查看有关气球的更多信息。如何让memberID从一个页面转移到另一个页面javascript

当用户单击时,会弹出一个新页面,我想将mem_ID发送到新页面,以便我可以在新页面上执行查询并在新页面上发布有关该成员的数据。

 // listen for clicks on the balloon, opens a hyperlink attached to the balloon. 
      $("#balloon").click(function popMessage(e) { 
       $("#balloon").hide(); 

       // hyperlink opens a new window upon click on the bubble 
       return !window.open('About.aspx?mem_ID' + mem_ID, "pop", "width=1000,height=900"); 

      }); 

所以这就是我计划发送member_ID到新页面的方式。

现在我怎么能在新页面上检索这个,所以我可以用它做点什么?

我有新的页面上的文本框,并想打印这个ID只是为了检查其是否转移: -

<script type="text/javascript"> 




    var id = <%=Request["mem_ID"]%> 

    document.getElementById('<%=TextBox1.ClientID%>').value = id; 




</script> 

它显示在文本框中为“未定义” ...... ..任何帮助?

回答

1
window.open('About.aspx?mem_ID' 

应该

window.open('About.aspx?mem_ID=' 

,但你不想通过URL传递它这样,因为这将敏感数据暴露给攻击者:要么检查在服务器端,当ID它是第一次收到,否则将其存储在会话状态,当用户登录

更新:

你的孩子页面:

var id = <%=Request["mem_ID"]%> 

应该

var id = "<%=Request["mem_ID"]%>"; 

也...攻击者可以是内部的太...对于一个内部应用程序,会话状态是实现基本的跨页的数据完整性的最简单方法。

+0

内部使用。所以不会暴露给外部的攻击者。另外,我试图不使用C#会话变量。 但您的见解是有帮助的!谢谢。 但是,没有我的孩子页面出现错误: - 'TQR002393'未定义。哈哈这是实际的会员ID ...这意味着它被传递到子页面。不知怎的,子页面认为这不是一个值,而是一个定义的变量? – Philo

1

试试这个::

document.getElementById('<%=TextBox1.ClientID%>').value = '<%=Request["mem_ID"]%>'; 

这将解决您的问题。

+0

它显示为空白文本框。至少它是不明确的(在光明的一面)哈哈。但是,当我检查我的父母页面。 mem_ID在传递给子页面之前有一个值。任何想法? – Philo

+0

@Philo,你可以做你的弹出窗口URL包含“mem_ID”?你能分享确切的网址吗? –

+0

按照我的编码,它弹出一个新窗口,但窗口不显示URL。大声笑 我也编辑了我的问题了一下,我在子页面中定义了一个var,设置其值为请求并将其重新发布到文本框中。现在它显示为'undefined' – Philo

相关问题