【问题标题】:how can i get a ASP.NET session variable in javascript?如何在 javascript 中获取 ASP.NET 会话变量?
【发布时间】:2013-01-29 10:07:36
【问题描述】:

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

网站 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);
        }

如何在不刷新整个页面的情况下做到这一点?

【问题讨论】:

标签: asp.net vb.net session


【解决方案1】:

会话存储在服务器端,因此您无法通过 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;

【讨论】:

    【解决方案2】:

    你可以在 javascript 中这样做

    var val = <%= Session["MyVariable"]%>; 
    

    【讨论】:

      【解决方案3】:

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

      <script type="text/javascript">
          function GetSessionValues() {
              var intern = '<%=Session("InternalValue") %>';
              var extern = '<%=Session("ExternalValue") %>';
          }
      </script>
      

      【讨论】:

      • 如果我在 Page_Load设置 Session("InternalValue")Session("ExternalValue") 对我有用> 事件,你是怎么做到的?
      猜你喜欢
      • 1970-01-01
      • 2014-12-15
      • 2016-05-10
      • 2013-08-03
      • 2019-04-24
      • 2013-07-29
      • 1970-01-01
      • 2019-05-21
      • 2012-02-02
      相关资源
      最近更新 更多