[英]Setting a ASP.NET Session in jquery.click()
当用户在我的站点上选择一个选项卡时,我想存储它们所在的选项卡,以便在页面刷新后将它们发送回该位置。 我现在有这个(不好的编码atm,我正在测试这个概念):
$("#index_0_li").click(function() {
<%= Session["SelectedIndex"] = "0" %>
});
$("#index_1_li").click(function() {
<%= Session["SelectedIndex"] = "1" %>
});
var index = <%= Session["SelectedIndex"] %>;
问题是,因为<%= %>
不等待单击,所以索引始终设置为1。
是否有人对我如何实现自己想做的事情有任何想法?
谢谢。
只需使用客户端会话-也称为“ Cookie”。
在click事件上设置cookie,然后在您提交页面(或“回发”)时,该cookie将与HTTP请求一起发送,从而允许您通过Request.Cookies
读取它。
正如El Ronnoco所说,如果要在ASP.NET会话中选择选定的选项卡,则需要将其发送回服务器。 您可以通过AJAX调用来执行此操作,也可以将其包含在您在应用程序中执行的另一篇文章中。
但是,如果您只想维护客户端的选定选项卡,则可以按照RPM1984的建议进行操作,并将其存储在cookie中(如果允许HTML5,则将其存储在其他本地存储中),然后选择该选项卡最后一次记录在cookie /本地存储中加载页面。 以下是我的头等大事,因此可能会出现语法错误(我需要查看您的标签和其他标记才能执行有效的解决方案):
$("#index_0_li").click(function() {
localStorage.setItem('SelectedTab', '#index_0_li');
});
$("#index_1_li").click(function() {
localStorage.setItem('SelectedTab', '#index_1_li');
});
$(document).ready(function() {
var index = localStorage.getItem('SelectedTab');
if (index !== null) {
$(index).click();
}
});
点击功能是客户端javascript。 您不能在客户端上设置服务器端变量。 您应该在服务器端设置selectedindex,例如使用jquery帖子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.