web-dev-qa-db-fra.com

Obtenir la valeur de la session en javascript

J'utilise un fichier javascript externe pour mon projet asp.net. Maintenant, je veux obtenir la valeur de la session dans ce javascript. Comment puis-je obtenir la valeur de session dans ce fichier javascript?

Merci d'avance..

10
ZMR BINU
<script>
var someSession = '<%= Session["SessionName"].ToString() %>';
alert(someSession)
</script>

Ce code, vous pouvez écrire dans Aspx. Si vous voulez cela dans un fichier js.file, vous avez deux possibilités:

  1. Créer un fichier aspx qui écrit le code JS complet et définir la source de ce fichier comme Script src
  2. Make handler, pour traiter le fichier JS en tant qu'aspx. 
18
hungryMind

Vous pouvez accéder à votre variable de session comme '<% = Session ["NomVariable"]%>'

le texte entre guillemets donnera la valeur de session . 1)

<script>
var session ='<%= Session["VariableName"]%>'
</script>

2) vous pouvez prendre un champ caché et attribuer une valeur au serveur;

hiddenfield.value = session ["xyz"]. tostring ();

//and in script you access the hiddenfield  like

alert(document.getElementbyId("hiddenfield").value);
5

Pour moi, ce code a fonctionné en JavaScript comme un charme!

<%= session.getAttribute("variableName")%>

j'espère que ça aide...

0
Gilbert_Prashant

Si vous utilisez VB comme code derrière, vous devez utiliser le crochet "()" au lieu du crochet "[]".

Exemple pour VB:

<script type="text/javascript">
var accesslevel = '<%= Session("accesslevel").ToString().ToLower() %>';
</script>  
0
LifeiSHot
var sessionVal = '@Session["EnergyUnit"]';
alert(sessionVal);
protected void Page_Load(object sender, EventArgs e)
    {
        Session["MyTest"] = "abcd";

        String csname = "OnSubmitScript";
        Type cstype = this.GetType();

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        // Check to see if the OnSubmit statement is already registered.
        if (!cs.IsOnSubmitStatementRegistered(cstype, csname))
        {
            string cstext = " document.getElementById(\"TextBox1\").value = getMyvalSession()  ; ";
            cs.RegisterOnSubmitStatement(cstype, csname, cstext);
        }

        if (TextBox1.Text.Equals("")) { }
        else {
              Session["MyTest"] = TextBox1.Text;
        }

    }


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">

    <script language=javascript type="text/javascript">
        function getMyvalSession() {

             var txt = "efgh";
             var ff = '<%=Session["MyTest"] %>' + txt;
             return ff ;
        }
    </script>

</head>
<body>

    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"  AutoPostBack=true ></asp:TextBox>
     <input type="submit"  value="Submit" />
    </div>
    </form>
</body>
</html>
0
Bhushan Mahajan