どのように私はJavaScriptのASP.NETセッション変数を取得できますか?

私はいくつかのテキストフィールドを持つウェブサイトを持っています。

ウェブサイトbはaのiframeにあります。

私は異なるセッションでいくつかの値をウェブサイトに保存した

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

私はセッションを保存した後、私は親の関数をWebサイトから呼び出す

parent.parentTeilnehmer()

私はウェブサイトのテキストフィールドにセッション値を表示したい

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

どのように私はページ全体をリフレッシュせずに行うことができますか?

1
nl ru de
追加された 著者 Steve B,
追加された 著者 AXMIM,

3 答え

セッションはサーバーサイドに格納されているので、javascriptを介してこれらの変数clientsideにアクセスすることはできません。これらの変数を隠しフィールドに保存することをお勧めします

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

Webサイト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;
4
追加された
私は自分の投稿を更新しましたか?
追加された 著者 Eray Geveci,

あなたはjavascriptでこれを行うことができます

var val = <%= Session["MyVariable"]%>; 
3
追加された

.aspx ページにjs関数が存在する場合にのみセッション変数をアクセスできます。これは良いアプローチではありません。別のScriptsフォルダにスクリプトファイルを保存してセッション値を保存する方がよい隠しフィールドで:

<script type="text/javascript">
    function GetSessionValues() {
        var intern = '<%=Session("InternalValue") %>';
        var extern = '<%=Session("ExternalValue") %>';
    }
</script>
1
追加された
それは働かない、変数は空です
追加された 著者 Eray Geveci,
Page_Load イベントで Session( "InternalValue") Session( "ExternalValue")を設定すると、それはどうですか?
追加された 著者 Coder,