请问各位高手可不可以在javascript  中读写Session?如可以,请给出示例,谢谢

解决方案 »

  1.   

    问题很菜(我也很菜),JAVASCRIPT在客户端运行,而SESSION在服务器端运行,它怎么可能操作session?
      

  2.   

    <script>
    var readfromsessionreadfromsession = '<%=Session("string")%>'
    </script>
      

  3.   

    gxboy(Blin 小学生学.NET) 的方法可以读值,但如果要赋值怎么操作,谢谢.
      

  4.   

    这个操作只能是单向的
    在JS中可以读取SESSION中的值如果想更新SESSION的值,可以通过JS用URL参数传递给一个ASPX文件,由它改变SESSION值
      

  5.   

    另外你可以在服务器端生成JS代码,这里面可以引用session,但这是静态的初始化.
    想这样是可以的.前提是后台已经为其赋值了.
    <script>
    alert('<%=Session["aa"].ToString()%>');
    </script>
    -------------
    算是能读吧,但不能写的.
      

  6.   

    js 调用 web services 改变session
      

  7.   

    调用ws简直是把事情复杂化。简单办法<script>
    function setsession(value)
    {
        window.open('setsession.aspx?value=' + value,'_myss')
    }
    </script><iframe name="_myss" marginwidth="1" marginheight="1" height="0" width="0" scrolling="no" border="0" frameborder="0">
    </iframe>setsession.aspx内容:session("mysession")=Request("value")
      

  8.   

    我有一个变通的方法,大家自已看一下,我刚试验出来,附源码。可以获取值和设置值
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="Test2003.WebForm1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function getSession()
    {
    document.Form1.txt.value = '<%= Session["A"] %>';

    return false;
    }

    function setSession()
    {
    document.Form1.Button1.click();
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <INPUT id="txt" style="Z-INDEX: 101; LEFT: 256px; POSITION: absolute; TOP: 80px" type="text"><INPUT style="Z-INDEX: 102; LEFT: 424px; WIDTH: 72px; POSITION: absolute; TOP: 80px; HEIGHT: 24px"
    type="button" value="Get" onclick="getSession()"> <INPUT id="Button1" style="DISPLAY: none; Z-INDEX: 103; LEFT: 544px; WIDTH: 72px; POSITION: absolute; TOP: 104px; HEIGHT: 24px"
    type="button" value="Temp" name="Button1" runat="server">
    <asp:TextBox id="TextBox1" style="Z-INDEX: 104; LEFT: 256px; POSITION: absolute; TOP: 120px"
    runat="server"></asp:TextBox><INPUT style="Z-INDEX: 105; LEFT: 424px; WIDTH: 72px; POSITION: absolute; TOP: 120px; HEIGHT: 24px"
    type="button" value="Set" onclick="setSession()">
    </form>
    </body>
    </HTML>
    后台csusing System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace Test2003
    {
    /// <summary>
    /// WebForm1 的摘要说明。
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
            protected System.Web.UI.WebControls.TextBox TextBox1;
            protected System.Web.UI.HtmlControls.HtmlInputButton Button1;

    private void Page_Load(object sender, System.EventArgs e)
    {            
    // 在此处放置用户代码以初始化页面 
               
                if (!IsPostBack)
                {
                    Session["A"] = "wangzhaocai";
                }
    } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
                this.Button1.ServerClick += new System.EventHandler(this.Button1_ServerClick);
                this.Load += new System.EventHandler(this.Page_Load);        }
    #endregion        private void Button1_ServerClick(object sender, System.EventArgs e)
            {
                Session["A"] = this.TextBox1.Text;
            }
    }
    }
      

  9.   

    function setSession()
    {
    document.Form1.Button1.click();
    }
    -----------------------------------
    是客户端调用服务器端的事件吗?学习~~~~~~
      

  10.   

    客户端操作SESSION这个无法实现,用变通的方法,麻烦而且效率低,效果死板,,建议你考虑用COOKIE,他可以用JS来操作,..恩.