我在_Layout.cshtml菜單:如何動態設置樣式列表項中_Layout.cshtml
<td class="MenuStructure">
<ul id="menu">
<li>@Html.ActionLink("First Page", "Page1Action", "Main")</li>
<li>@Html.ActionLink("Second Page", "Page2Action", "Main")</li>
<li>@Html.ActionLink("Third Page", "Page3Action", "Second")</li>
</ul>
</td>
當點擊動作鏈接之一,我想設置類<的li>將其包含到「selected」中,並將其他< li>元素的類包含到「」中。
這工作:
<script type="text/javascript">
$(document).ready(function() {
var selMenu = '@ViewBag.SelectedMenu';
if (selMenu == "page1") {
$("#page1").attr('class', 'selected');
$("#page2").attr('class', '');
$("#page3").attr('class', '');
}
if (selMenu == "page2") {
$("#page1").attr('class', '');
$("#page2").attr('class', 'selected');
$("#page3").attr('class', '');
}
});
</script>
,但它是非常難看。有人能給我一個更優雅的方式來做到這一點嗎?
的@ Html.ActionLink導致回發(不知道這是MVC3中的正確術語),所以這是有效的,但僅適用於頁面刷新之前的短暫時刻,並且沒有鏈接再次具有「已選擇」類。 – KennyZ
@KennyZ啊是沒有考慮往返...我會更新 –
謝謝!當我檢查代碼時,我會感覺好多了! – KennyZ