2012-02-15 32 views
1

私はこれをjavascriptで試していますが、より簡単な方法があります。クライアントサイドスクリプトから.NETセッション変数を取得する

コードにセッション変数を設定する.NETアプリケーションがあります。私はまた、その場で作成され、静的なWebサイトにHTMLファイルを持っているが、これらのセッションにアクセスすることができるはずです(javascriptによる可能性が高い)。つまり、セッションセットがない場合は、HTMLページをメインの.aspxページにリダイレクトする必要があります。

セッションは.aspxページで認識されますが、これを克服する方法はありますか?

<script type="text/javascript"> 
    function doSomething(){ 
     var someSession = '<%= Session("user") %>'; 
     alert(someSession) 
    } 
</script> 
+0

、あなたはページをASP.NET経由でそれらにアクセスする必要がありますかサービス。 JavaScriptでそれらを使用したいので、ユーザーセッション変数をサーバーから取得するサービスを作成することを検討することができます。 – Zachary

答えて

1

スタティックhtmlページはサーバーコードを実行しません。彼らはそのままの状態で提供されます。

<%= Session("user") %> 

定義によると、サーバー側コードの実行が含まれます。だからこそ、HTMLではなくaspxページで動作します。

これを克服する方法は、htmlページをaspxページに変換するか、Ajaxクエリを使用してサーバーにコールバックし、Webサービスやその他の方法からセッション情報を取得することです。

+0

.aspページにコードを配置しようとしましたが、同じ結果が得られました。そこに任意のアイデア? Test.aspをから: ' \t <スクリプトタイプ= "テキスト/ javascriptの"> \t \t関数のdoSomething(){ \t \t \tするvar someSession = '<%=セッション( "ユーザ")%>'; \t \t \t警告(someSession) \t \t} \t <ボディのonload = "doSomethingの();"> ' – r584

+0

私はあなたの提案を試みたが、@ r584は、それが動作しません言ったように! – Simone

0

すでにそれがアクティブなページでなければならないと述べ、正しいコードがしたように:あなたがHTMLから変数にアクセスすることはできません

var sessionValue = '<%= Session["user"] %>'; 
関連する問題