在脚本中我设置了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;
}
String Val等于'+ $(this).attr('id')+'
答案 0 :(得分:1)
我用这种方式做,如果有更好的方式请求告诉我
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;
}
答案 1 :(得分:1)
我曾经把值放在隐藏变量中,这可以在代码隐藏中访问,无论如何会话对象在代码后面是活动的,你可以将变量设置为session成功。
优势: 全局声明的会话字符串可在代码隐藏中访问,您可以通过调用属性文件
来使用变量<强> 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;
您也可以使用其他方法,我希望这符合您的要求
答案 2 :(得分:0)
您无法从客户端代码中写入(服务器端)会话。
alert('<%=Session["Pagination"] %>');
有效,因为它首先执行服务器端,读取Session["Pagination"]
的值并将其插入到javascript源中,然后再将该源发送到浏览器。
当浏览器看到该文本并将其解释为javascript时,服务器端命令(<% ... %>
)已被替换。无论如何,浏览器都不知道如何处理它们。