如何在代码隐藏中访问会话变量
问题描述:
在脚本中,我设置了Session。如何在代码隐藏中访问会话变量
<script>
$(document).on('click', '.Pagination', function() {
'<%Session["Pagination"] = "' + $(this).attr('id') + '"; %>';
alert('<%=Session["Pagination"] %>');
});
</script>
预警工程。
我无法访问时,我想从会话代码隐藏
if (!string.IsNullOrEmpty(Session["Pagination"] as string))
{
string Val = Session["Pagination"].ToString();
Session["Pagination"] = null;
}
字符串瓦尔等于 '+ $(本).attr(' 身份证 ')+'
答
我用这样做,如果有一个更好的办法的请求告诉我
JavaScript函数:
<script>
$(document).on('click', '.Pagination', function() {
PageMethods.NumPagination($(this).attr('id'));
});
</script>
代码背后:
[System.Web.Services.WebMethod]
public static string NumPagination(string Num)
{
Page Pagination = new Page();
Pagination.Session["Pagination"] = Num;
return Num;
}
if (!string.IsNullOrEmpty(Session["Pagination"] as string))
{
string Select = "1";
Select = Session["Pagination"].ToString();
Session["Pagination"] = null;
}
答
无法从客户端代码中编写的(服务器端)会议。
alert('<%=Session["Pagination"] %>');
可以工作,因为它先执行服务器端,读取Session["Pagination"]
的值,然后将其发送到javascript源,然后将该源发送到浏览器。
当浏览器看到文本并将其解释为javascript时,服务器端命令(<% ... %>
)已被替换。无论如何,浏览器都不知道如何处理它们。
答
我以前把这个值放在隐藏变量中,这个可以在代码隐藏中访问,无论如何,会话对象在代码后面是活动的,你可以将变量设置成会话成功。
优势: 在全球范围内宣布会议字符串是在访问代码隐藏,你可以通过调用属性文件
ASP
<asp:HiddenField id="session_obejct" runat="server" />
的Javascript
document.getElementById('session_obejct').value = "Variable you want to set in session";
使用变量
C#
session["SESSION_NAME"] = session_obejct.Value;
您可以使用其他方法还有,我希望这将满足您的要求