3

JavaScriptを使用してセッション値を割り当てる方法はありますか

セッションから値を取得できますが、割り当てが機能しません

var TempSession = '<%= Convert.ToInt32(Session["Status"]) %>';
if(TempSession ==6)
{
   alert(TempSession );
   TempSession =1;
}
4

4 に答える 4

5

セッション値を設定するために ajax 呼び出しを使用してみてください:-

JS:-

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> </script>
<script type="text/javascript">
    var TempSession = '<%= Convert.ToInt32(Session["Status"]) %>';
    if (TempSession == 6) {
        alert(TempSession);
        $.ajax({
            type: 'POST',
            url: 'WebForm1.aspx/SetValue',
            data: '{ val:1 }',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (msg) {
                alert("New Session value is " + msg.d);
            }
        });
    }

</script>

コード ビハインド ファイル:-

[WebMethod]
public static string SetValue(string val)
{
    HttpContext.Current.Session["Status"] = val;
    return HttpContext.Current.Session["Status"].ToString();
}
于 2013-07-21T09:17:10.080 に答える
0

サーバー側のセッションについて話している場合、それは実際にはサーバー側に依存します。

通常はCookieを介してセッションIDを割り当てる必要があります....
つまり、たとえば、必要なセッションIDを指定して、サーバー内の指定されたURLにajaxリクエストを行うことができます。その ajax リクエストは、Cookie を介してセッションを割り当てます。

別のアイデアは、特定のセッション ID を持つ JavaScript を使用して、クライアント側で Cookie を積極的に作成することです (これもサーバーがサポートしている場合)。

$.cookie("SESSION", "session-id"); // Using jQuery

私は前にそれを試したことはありませんが。
Cookie の名前はサーバー テクノロジによって異なることに注意してください (Tomcat はJSESSIONIDデフォルトで[link]、ASP.NET はASP.NET_SessionId[link]で、「注」の下にあります)。

于 2013-07-20T19:10:23.440 に答える
0

実際、あなたのケースをカバーするMSDNのチュートリアルがあります。Web サービスをクライアント スクリプトに公開するで説明されています。「ASP.NET Web ページでの静的メソッドの呼び出し」セクションを参照してください。

あなたがしなければならないのは、あなたのコントロールにEnablePageMethodsプロパティを設定し、コードビハインドで宣言されたオブジェクト呼び出し静的メソッド(属性で装飾する必要があります)を使用することだけです。TrueScriptManagerPageMethodsWebMethod

于 2013-07-21T08:33:29.440 に答える
0

XmlHttpRequest を介してデータを送信することにより、サーバー セッションにデータを転送できます。このデータを受け取るページまたはハンドラーは、それをサーバー セッション データ コレクションに入れることができます。

于 2013-07-20T20:10:32.720 に答える