我有一个带有一些文本字段的网站。
网站b位于arame的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);
}
如何在不刷新整个页面的情况下做到这一点?
答案 0 :(得分: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;
答案 1 :(得分:3)
你可以在javascript
中这样做var val = <%= Session["MyVariable"]%>;
答案 2 :(得分:1)
只有当你的js函数出现在 .aspx 页面上时才能访问javascript中的Session变量,这不是一个好方法,因为最好将我们的脚本文件保存在单独的Scripts文件夹中,这样你才能将会话值存储在隐藏字段中:
<script type="text/javascript">
function GetSessionValues() {
var intern = '<%=Session("InternalValue") %>';
var extern = '<%=Session("ExternalValue") %>';
}
</script>