如何在代码隐藏中访问会话变量

问题描述:

在脚本中,我设置了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; 
} 

LINK

无法从客户端代码中编写的(服务器端)会议。

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; 

您可以使用其他方法还有,我希望这将满足您的要求