我正在为我的asp.net项目使用外部javascript文件。现在我想在那个javascript中获取会话值。如何在该javascript文件中获取会话值?
提前致谢..
答案 0 :(得分:19)
<script>
var someSession = '<%= Session["SessionName"].ToString() %>';
alert(someSession)
</script>
您可以在Aspx中编写此代码。如果你想在一些js.file中使用它,你有两种方法:
答案 1 :(得分:5)
您可以访问您的会话变量,例如'&lt;%= Session [“VariableName”]%&gt;'
单引号中的文本将给出会话值。 1)
<script>
var session ='<%= Session["VariableName"]%>'
</script>
2)您可以使用隐藏字段并在服务器上分配值;
hiddenfield.value = session [“xyz”]。tostring();
//and in script you access the hiddenfield like
alert(document.getElementbyId("hiddenfield").value);
答案 2 :(得分:0)
对我来说,这段代码在JavaScript中就像魅力一样!
<%= session.getAttribute("variableName")%>
希望它有所帮助...
答案 3 :(得分:0)
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>
答案 4 :(得分:0)
var sessionVal = '@Session["EnergyUnit"]';
alert(sessionVal);
答案 5 :(得分:0)
如果您使用VB作为代码,则必须使用方括号“()”而不是方括号“[]”。
VB示例:
<script type="text/javascript">
var accesslevel = '<%= Session("accesslevel").ToString().ToLower() %>';
</script>
答案 6 :(得分:0)
我尝试使用ASP.NET MVC 5,它对我有用
var sessionData = "@Session["SessionName"]";