在代码隐藏中,我设置Session
了一些数据。
Session["usedData"] = "sample data";
问题是如何在 javascript 中获取 Session 值(在我的示例中;“示例数据”)并设置Session["usedData"]
一个新值?
在代码隐藏中,我设置Session
了一些数据。
Session["usedData"] = "sample data";
问题是如何在 javascript 中获取 Session 值(在我的示例中;“示例数据”)并设置Session["usedData"]
一个新值?
使用 Javascript 访问和分配会话变量:
使用 Javascript 分配 ASP.NET 会话变量:
<script type="text/javascript">
function SetUserName()
{
var userName = "Shekhar Shete";
'<%Session["UserName"] = "' + userName + '"; %>';
alert('<%=Session["UserName"] %>');
}
</script>
使用 Javascript 访问 ASP.NET 会话变量:
<script type="text/javascript">
function GetUserName()
{
var username = '<%= Session["UserName"] %>';
alert(username );
}
</script>
您不能Session
直接在 JavaScript 中访问。
您可以创建一个隐藏字段并将其传递到您的页面,然后使用 JavaScript 通过以下方式检索对象 document.getElementById
Javascript 不能直接设置会话值。为了从 javascript 设置会话值,我按如下方式执行 ajax 调用。
在 ASPx 文件或 html,
<script type="text/javascript">
$(function(){
//Getting values from session and saving in javascript variable.
// But this will be executed only at document.ready.
var firstName = '<%= Session["FirstName"] ?? "" %>';
var lastName = '<%= Session["LastName"] ?? "" %>';
$("#FirstName").val(firstName);
$("#LastName").val(lastName);
$('Button').click(function(){
//Posting values to save in session
$.post(document.URL+'?mode=ajax',
{'FirstName':$("#FirstName").val(),
'LastName':$("#LastName").val()
} );
});
});
在服务器端,
protected void Page_Load(object sender, EventArgs e)
{
if(Request.QueryString["mode"] != null && Request.QueryString["mode"] == "ajax")
{
//Saving the variables in session. Variables are posted by ajax.
Session["FirstName"] = Request.Form["FirstName"] ?? "";
Session["LastName"] = Request.Form["LastName"] ?? "";
}
}
用于获取会话值,如 Shekhar 和 Rajeev 所说
var firstName = '<%= Session["FirstName"] ?? "" %>';
希望这可以帮助。
试试这个
var sessionValue = '<%=Session["usedData"]%>'
假设你的意思是“客户端 JavaScript”——那么你不能,至少不能直接。
会话数据存储在服务器上,因此客户端代码在不与服务器通信的情况下无法看到它。
要访问它,您必须发出 HTTP 请求并让服务器端程序修改/读取并返回数据。