gpt4 book ai didi

javascript - 将 ASP.NET session 传递给 jQuery

转载 作者:行者123 更新时间:2023-12-01 05:11:50 25 4
gpt4 key购买 nike

我正在使用 asp.net、vb.net 和 jquery。我需要查看我的 session 在 jQuery 中是否存在。我知道我无法在 jQuery 中使用 session ,因为 JavaScript 是客户端,而 session 是服务器端。因此,我认为解决方法可以是将 session 信息存储在标签中。

这是我正在尝试但不太有效的方法:

因此,在 Page_Load 上,我将文本框设置为 session ( session 存在时等于“True”):LblSession.Text = Session("MySession")

同样在 Page_Load 上,如果 session 过期(设置为 15 分钟),那么我希望标签将 session 更新为 null/false。

If Not Session("MySession") Then LblSession.Text = Session("MySession")

但是,当我的 session 结束时,此标签不会更新为 session 是否存在。

在我的 jQuery 上,我获取 session 的值(如果存在,则为 True,否则为 false 或 null): var mySession = $("#LblSession").text();

//Check to see if the session is true
if (mySession == "True") {
'do something if session exists'
} else {
'do something if session does not exist'
}

这是我的最终目标,能够从我的 jQuery 中查看 session 是否存在或者是否过期。

最佳答案

您对 ID html 标记的 Javascript 调用可能是错误的,请检查 ID 控件是否存在:

<asp:Label runat="server" ID="LblSession"></asp:Label>
// render as:
<span id="[if inside Masterpage ex. ContentMain_]LblSession"></span>
$("#LblSession").text();

检查 web.config 的配置、标签 clientIDMode 的值,ID 取决于此设置和页面结构,例如,如果您有母版页和容器控件。检查html生成代码,获取渲染的html控件的客户端ID标签。

<pages clientIDMode="Predictable"></pages>

更多信息:(https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.control.clientidmode?view=netframework-4.8)

最好使用隐藏字段,呈现为隐藏输入:( https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.hiddenfield?view=netframework-4.8 )

<asp:HiddenField id="HiddenField1" runat="server" value="1"/>

关于javascript - 将 ASP.NET session 传递给 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61083527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com