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..
<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:
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);
Pour moi, ce code a fonctionné en JavaScript comme un charme!
<%= session.getAttribute("variableName")%>
j'espère que ça aide...
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>
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>