.net Jquery回发,回发后维护相同的选项卡
我正在使用jquery选项卡并遵循js方法,如何以及如何修改它以在回发之间维护选项卡的状态?(这将在页面加载后将选项卡重置为第一个选项卡).net Jquery回发,回发后维护相同的选项卡,.net,asp.net,javascript,jquery,jquery-ui,.net,Asp.net,Javascript,Jquery,Jquery Ui,我正在使用jquery选项卡并遵循js方法,如何以及如何修改它以在回发之间维护选项卡的状态?(这将在页面加载后将选项卡重置为第一个选项卡) 您可以使用Javascript跟踪隐藏字段中的活动选项卡,然后在加载页面时检查隐藏字段。(也使用Javascript) 或者,您可以将UpdatePanels与ASP.NETAjax结合使用,以消除回发。(请注意,如果选项卡位于更新面板中,它们将无法正常工作)使用隐藏字段的替代方法是使用选项卡控件上的cookie属性 $(“#制表符”)。制表符({ 曲奇:{
您可以使用Javascript跟踪隐藏字段中的活动选项卡,然后在加载页面时检查隐藏字段。(也使用Javascript)
或者,您可以将UpdatePanels与ASP.NETAjax结合使用,以消除回发。(请注意,如果选项卡位于更新面板中,它们将无法正常工作)使用隐藏字段的替代方法是使用选项卡控件上的cookie属性 $(“#制表符”)。制表符({ 曲奇:{ 有效期:1 } }); 您需要引用jquery.cookie.js文件才能工作 尝试以下操作:
<p class="hiddenData"><asp:HiddenField ID="hdnData" runat="server" /></p>
<script type="text/javascript">
$(document).ready(function() {
$('.tabs li a').click(function() { });
$('.tabs li').hover(function() {
var liData = $(this);
$('.hiddenData input:hidden').val(liData.find('span').text());
});
if ($('.hiddenData input:hidden').val() != '') {
var liList = $('.tabs li');
var hiddenData = $('.hiddenData input:hidden').val();
liList.each(function() {
if ($(this).find('span').text() == hiddenData) {
$(this).find('a').click();
}
});
}
});
</script>
$(文档).ready(函数(){
$('.tabs li a')。单击(function(){});
$('.tabs li').hover(函数(){
var liData=$(本);
$('.hiddenData输入:hidden').val(liData.find('span').text());
});
if($('.hiddenData输入:hidden').val()!=''){
var liList=$('.tabs li');
var hiddenData=$('.hiddenData输入:hidden').val();
liList.each(函数(){
if($(this).find('span').text()==hiddenData){
$(this.find('a')。单击();
}
});
}
});
你说的 //When page loads...
$(".tab_content").hide(); //Hide all content
我会用css加载这个,因为这样更快。hide可能正在进行显示:无
一种解决方案是从codebehind编写javascript并以c为例# 或者,您可以使用C向#search标记添加一个属性,并使用js读取它 C# JS 另一个解决方案是使用querystring
您可以从查询字符串中读取值。
我个人会选择第一个或第二个。隐藏字段方法对我很有效。在.aspx包含
<asp:HiddenField runat="server" ID="hfLastTab" Value="0" />
$("#tabs").tabs({ active: <%= hfLastTab.Value %> });
我还使用了一个隐藏字段来跟踪所选选项卡。我用了更新面板。。但是当我在第二个标签上点击按钮时,回发导致第一个标签被显示。。。为什么?很好用。最简单、最优雅的解决方案。jQuery UI在1.10版本中消除了cookie业务
search.Attributes.Add("selectedtab", "1");
jQuery("#search").attr("selectedtab");
<asp:HiddenField runat="server" ID="hfLastTab" Value="0" />
$("#tabs").tabs({ active: <%= hfLastTab.Value %> });
if (!Page.IsPostBack) {
string pat = @"t=(\d)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
Match m = r.Match(Request.Url.Query);
if (m.Success) hfLastTab.Value = m.Groups[0].ToString();
}