ich nicht so sprechen kann, aber die Art und Weise funktioniert dies in der Regel durch für jede Seite verschiedene HTML-Generierung entlang der Linien von:
<ul class="tabs>
<li><a href="/tab1">Tab 1</a></li>
<li class="on"><a href="/tab2">Tab 2</a></li>
<li><a href="/tab3">Tab 3</a></li>
</ul>
Wo class = „on“ steht Ihr unterschiedliches Styling für Ihre ausgewählte Registerkarte. Jetzt wollen Sie nicht wirklich dies für jede Seite tun, damit Sie es in Ihrem Master-Seite wie platzieren können:
<ul class="tabs>
<li <%= ViewData["CurrentTab"] == "Tab1" ? "class=\"on\"" : "" %>><a href="/tab1">Tab 1</a></li>
<li <%= ViewData["CurrentTab"] == "Tab2" ? "class=\"on\"" : "" %><a href="/tab2">Tab 2</a></li>
<li <%= ViewData["CurrentTab"] == "Tab3" ? "class=\"on\"" : "" %>><a href="/tab3">Tab 3</a></li>
</ul>
Dann in jedem Ihrer Controller-Aktionen den Wert der Registerkarte setzen Sie gewählt werden wollen wie :
ViewData["CurrentTab"] = "Tab2";
Sie für die aktuelle URL in der Master-Seite testen konnte, aber diese Methode bietet ein wenig mehr Flexibilität, wenn mehrere URLs die gleichen Registerkarte markieren sollten.
Ich sehe nicht die Notwendigkeit für die Client-Seite Einstellung, aber wenn Sie JQuery wie James Wiseman zu verwenden, benötigt sagte:
$("#Tab1").addClass('on'); // or
$("#Tab1").removeClass('on'); // or
$("#Tab1").toggleClass('on');