我正在使用jQuery标签和ASP.NET列表视图来显示和编辑一些信息。我的问题是,当用户在某个列表视图项目中插入一条新记录时,我的jQuery选项卡会返回到第一个选项卡。有没有办法跟踪我在哪个选项卡上,或者不让它停留在post back上?
发布于 2011-10-27 19:41:22
在ASP.NET中,您可以将其存储在隐藏字段中,而不必使用cookie (不需要jQuery cookie引用)。
使用以下命令:
$(function () {
$("#tabs").tabs({
activate: function() {
var selectedTab = $('#tabs').tabs('option', 'active');
$("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
},
active: <%= hdnSelectedTab.Value %>
});
});
然后在正文中声明隐藏的选项卡字段:
<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
基本上,在选择选项卡时,您将所选选项卡值存储在asp隐藏字段中。然后,在显示时,您正在检索值。
发布于 2013-03-25 05:40:38
对于较新版本的jQuery和jQuery UI,这将是:
$(function () {
$("#tabs").tabs({
activate: function() {
var selectedTab = $('#tabs').tabs('option', 'active');
$("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
},
active: document.getElementById('<%= hdnSelectedTab.ClientID %>').value
});
});
“selected”选项已替换为“active”...当然,您仍然需要添加隐藏字段:
<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
发布于 2010-09-16 02:58:34
jQuery cookie plugin有built-in support (direct download)。您可以这样使用它:
$("#tabs").tabs({
cookie: { expires: 7 } //1 week
});
这与跨回发维护不同,但它通常能提供所需的效果。
https://stackoverflow.com/questions/3720796
复制相似问题