Javascript 在javascript中获取会话值
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/8396070/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Getting session value in javascript
提问by ZMR BINU
I am using an external javascript file for my asp.net project. Now i want to get the session value in that javascript. How can i get the session value in that javascript file?
我正在为我的 asp.net 项目使用外部 javascript 文件。现在我想在那个 javascript 中获取会话值。如何获取该 javascript 文件中的会话值?
Thanks in advance..
提前致谢..
回答by hungryMind
<script>
var someSession = '<%= Session["SessionName"].ToString() %>';
alert(someSession)
</script>
This code you can write in Aspx. If you want this in some js.file, you have two ways:
这段代码可以用 Aspx 编写。如果你想在一些 js.file 中使用它,你有两种方法:
- Make aspx file which writes complete JS code, and set source of this file as Script src
- Make handler, to process JS file as aspx.
- 制作编写完整JS代码的aspx文件,并将该文件的源设置为Script src
- 制作处理程序,将 JS 文件处理为 aspx。
回答by Rashmi Kant Shrivastwa
You can access your session variable like '<%= Session["VariableName"]%>'
您可以访问您的会话变量,如 '<%= Session["VariableName"]%>'
the text in single quotes will give session value. 1)
单引号中的文本将给出会话值。1)
<script>
var session ='<%= Session["VariableName"]%>'
</script>
2) you can take a hidden field and assign value at server;
2)您可以在服务器上取一个隐藏字段并赋值;
hiddenfield.value= session["xyz"].tostring();
hiddenfield.value= session["xyz"].tostring();
//and in script you access the hiddenfield like
alert(document.getElementbyId("hiddenfield").value);
回答by Gilbert_Prashant
For me this code worked in JavaScript like a charm!
对我来说,这段代码在 JavaScript 中工作得很好!
<%= session.getAttribute("variableName")%>
hope it helps...
希望能帮助到你...
回答by Bhushan Mahajan
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>
回答by Theodor Alexander Hkansson Hei
var sessionVal = '@Session["EnergyUnit"]';
alert(sessionVal);
回答by LifeiSHot
If you are using VB as code behind, you have to use bracket "()" instead of square bracket "[]".
如果您使用 VB 作为代码隐藏,则必须使用方括号“()”而不是方括号“[]”。
Example for VB:
VB 示例:
<script type="text/javascript">
var accesslevel = '<%= Session("accesslevel").ToString().ToLower() %>';
</script>
回答by Kelum Priyadarshane
I tried following with ASP.NET MVC 5, its works for me
我尝试使用 ASP.NET MVC 5,它对我有用
var sessionData = "@Session["SessionName"]";