Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET中的引导选项卡在页面刷新后保持状态_C#_Jquery_Asp.net_Twitter Bootstrap 3 - Fatal编程技术网

C# .NET中的引导选项卡在页面刷新后保持状态

C# .NET中的引导选项卡在页面刷新后保持状态,c#,jquery,asp.net,twitter-bootstrap-3,C#,Jquery,Asp.net,Twitter Bootstrap 3,我正在使用本机引导选项卡,并尝试在页面刷新后保持当前选项卡的状态。这是我的表单引导3,带有选项卡: <form runat="server" id="mainForm"> <div class="Tabs"> <ul class="nav nav-tabs"> <li runat="server" id="liSectionContractPayments" onclick="return makeActiveTab('s

我正在使用本机引导选项卡,并尝试在页面刷新后保持当前选项卡的状态。这是我的表单引导3,带有选项卡:

<form runat="server" id="mainForm">


<div class="Tabs">


    <ul class="nav nav-tabs">
        <li runat="server" id="liSectionContractPayments" onclick="return makeActiveTab('sectionA');">
            <a data-toggle="tab" href="#sectionA">
                Heading 1
        </li>
        <li runat="server" id="liSectionTracking" onclick="return makeActiveTab('sectionB');">
            <a data-toggle="tab" href="#sectionB">
                Heading 2
        </li>
        <li runat="server" id="liSectionNotes>
            <a data-toggle="tab" href="#sectionC" onclick="return makeActiveTab('sectionC');">
                Heading 3</li>
        </ul>


        <div class="tab-content">
            <div id="sectionContractPayments" class="tab-pane fade">
                <h4>Heading 1</h4>
                Content for heading 1  
            </div>
            <div id="sectionTracking" class="tab-pane fade">                             
                <h4>Heading 2</h4>
                Content for heading 2     
            </div>
            <div id="sectionNotes" class="tab-pane fade">                             
                <h4>Heading 3</h4>     
                Content for heading 3
            </div>


        </div>    
    </div>


    <%-- This is to keep the state of current tab. --%>
    <asp:HiddenField ID="SetActiveNavTab" runat="server" />


</form>
我正在使用隐藏字段SetActiveNavTab来持久化当前选项卡的状态,为此,我有以下脚本:

<script>

/* Not working ... */
function activaTab2(tab) {
    $('.nav-tabs a[href="#' + tab + '"]').tab('show');
};
function makeActiveTab(activeTabName) {
    $('#<%=SetActiveNavTab.ClientID%>').val(activeTabName);
    activaTab2($('#<%=SetActiveNavTab.ClientID%>').val(activeTabName));
    alert(activeTabName + "AND" + activaTab2($('#<%=SetActiveNavTab.ClientID%>').val()););
}
/* Not working ... */


$(document).ready(function() {


    function activaTab(tab) {
        $('.nav-tabs a[href="#' + tab + '"]').tab('show');
    };

    activaTab($('#<%=SetActiveNavTab.ClientID%>').val()); 


});
</script>
不工作的零件用注释标记。我似乎无法将单击的选项卡保存到SetActiveNavTab隐藏字段。剧本有什么问题吗


也不确定是否有更好的方法可以做到这一点?

您需要发布页面的某些部分,而不是完整的页面。i-e AJAX

AJAX允许通过在后台与服务器交换少量数据来异步更新网页。这意味着可以更新网页的部分内容,而无需重新加载整个网页

工作原理

用于ASP.NET WEB表单中的AJAX

在asp.net web窗体中,需要将“更新”面板


一次完整的页面刷新会重新请求服务器上的所有内容-页面上没有任何内容被保存。HTML设计为无状态,无论好坏。您可以通过更新本地变量以外的内容手动保存页面状态:例如,将显示/隐藏字段状态存储在cookie中,或者使用ajax通知web服务器重要的状态更改。刷新页面后,可以使用保存的信息重建页面的状态。