asp.net bootstrap Halten aktuell aktive Registerkarte nach dem post-back-event
Habe ich Folgendes asp.net aspx-code
<asp:LinkButton CssClass="form-search" ID="LinkButtonSearch" runat="server">Search</asp:LinkButton>
<br />
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#profile">Profile</a></li>
<li><a href="#messages">Messages</a></li>
<li><a href="#settings">Settings</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home">home</div>
<div class="tab-pane" id="profile">profile</div>
<div class="tab-pane" id="messages">messages</div>
<div class="tab-pane" id="settings">settings</div>
</div>
Diese script-code hält die aktive Registerkarte nach dem post-back-event, wenn ich auf den LinkButton
<script>
$(document).ready( function(){
$('#myTab a').click(function (e) {
e.preventDefault()
$(this).tab('show')
});
//store the currently selected tab in the hash value
$("ul.nav-tabs > li > a").on("shown.bs.tab", function (e) {
var id = $(e.target).attr("href").substr(1);
window.location.hash = id;
});
//on load of the page: switch to the currently selected tab
var hash = window.location.hash;
$('#myTab a[href="' + hash + '"]').tab('show');
});
</script>
NB: Dieser code funktioniert nur wenn ich die aktuelle Seite neu laden. Es hält die aktuelle tab-Fokus. aber wenn u klicken Sie auf die Schaltfläche "Link", es bringt mich zurück zu der Standard-Registerkarte.
Wie kann man diesen code auch mit der post zurück-Ereignis keine Steuerelemente.
Hinweis: ich habe dieses Beispiel aus dem Stapel post : Wie halte ich den aktuellen tab mit twitter bootstrap nach einem Neuladen der Seite? . Diese Lösung wurde erstellt von: @koppor.
Jeder hilft
- Möglich dupe stackoverflow.com/questions/21136981/...
- danke für den link
- Bitte aktualisieren Sie Ihren code in eine Geige (html, wenn javascript)
- Hi @Djama, ich denke Sie haben ein problem, wenn Sie versuchen zu zeigen, die Letzte Registerkarte. Setzen Sie Ihre code innerhalb der
$(document).ready()
Funktion. Es ist der 3. Schritt auf meine Vorherige Antwort stackoverflow.com/questions/21136981/.... - ein bearbeitet das Skript, aber ich bin immer noch mit dem gleichen problem, nott halten den aktuellen tab nach dem postback. Sie sagte, ich habe ein problem, wo ich versuche zu zeigen, die Letzte Registerkarte , können Sie etwas präziser werden
- Versuchen Sie, zu überprüfen, was der Wert ist festgelegt auf
window.location.hash
vor, während & nach dershown
- Ereignis, nach einemPostback
. Sie haben vielleicht eine Ahnung warum es nicht funktioniert. - versuchen Sie dies , kann dies Ihr problem lösen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht vertraut mit jQuery so suchte ich eine asp.net Lösung, wenn ich dieses problem hatte.
Ich löste dieses problem durch eine änderung der ein href in den Listen und ersetzt mit asp:linkbutton.
Dann ging auch ich auf die divs mit den tabs und Hinzugefügt runat = "server" auf jedes, auch Hinzugefügt ID="Tab1" , Tab2 und so weiter.
Dann auf der code-behind für die linkbuttons habe ich folgenden code Hinzugefügt
Für die Registerkarte, in der Sie aktiv werden wollen, ändern Sie das Attribut auf " tab-pane active.
Diese Weise, wenn der linkbutton geklickt wird nur die Registerkarte, in der Sie aktiv werden wollen, ist aktiv und beim postback, weil diese Steuerelemente sind jetzt server-Seite bleiben Sie auf die aktive Registerkarte.
Habe ich versucht dein Skript und es löste eines meiner Probleme, ich habe diesen code auf meine submit-button
Antwort.Redirect("Einstellungen.aspx#step2");
Hoffe, es funktioniert für Ihre