1

我有一个带有一些文本字段的网站。

网站 b 在 a 的 iframe 中。

我在网站 b 中保存了不同会话中的一些值

  Session("anzahlInterneTeilnehmer") = anzahlInterneTeilnehmer
  Session("anzahlExterneTeilnehmer") = anzahlExterneTeilnehmer

保存会话后,我从网站 a 调用父函数

parent.parentTeilnehmer()

我想在网站 a 的文本字段中显示会话值

            function parentTeilnehmer() {
            var intern = ????
            var extern = ????
            var InterneTextFeld = ISGetObject("WebInput1");
            var ExterneTextFeld = ISGetObject("WebInput2");
            InterneTextFeld.SetValueData(intern);
            ExterneTextFeld.SetValueData(extern);
        }

如果不刷新整个页面,我怎么能做到这一点?

4

3 回答 3

4

会话存储在服务器端,因此您无法通过 javascript 在客户端访问这些变量。我建议将这些变量保存到隐藏字段

<input type="hidden" id="anzahlInterneTeilnehmer" runat="server" />
<input type="hidden" id="anzahlExterneTeilnehmer" runat="server" />

将事件处理程序附加到网站 A 的页面 PreRender 方法,并在那里将 anzahlInterneTeilnehmer 的值设置为会话值(请原谅我的 VB)

Private Sub Page_Render(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.PreRender
anzahlInterneTeilnehmer.Value = Session("anzahlInterneTeilnehmer")
End Sub

然后在你的 javascript

var internHolder = document.getElementById("anzahlInterneTeilnehmer");
var intern = internHolder.value;
于 2013-01-29T10:10:22.720 回答
3

你可以在javascript中这样做

var val = <%= Session["MyVariable"]%>; 
于 2013-01-29T11:08:04.010 回答
1

只有当您的 js 函数出现在.aspx页面上时,您才能在 javascript 中访问 Session 变量,这不是一个好方法,因为最好将我们的脚本文件保存在单独的 Scripts 文件夹中,这样您就可以将会话值存储在隐藏字段中:

<script type="text/javascript">
    function GetSessionValues() {
        var intern = '<%=Session("InternalValue") %>';
        var extern = '<%=Session("ExternalValue") %>';
    }
</script>
于 2013-01-29T10:31:50.027 回答