0

多くの労力をかけてマスター ページを作成しましたが、ユーザーのクリックに基づいてタブを選択する方法がわかりません。私はそれを行うために1つの方法を使用しましたが、好きではない各コントローラーからviewdataを渡したので非常に複雑であることがわかりました。以下は、コントローラーでコードを実行した方法です

ViewData["ActiveMenu"] = "Inbox";

私のマスターページでは、タブを強調表示するために以下のようなjqueryを書きました。

$('#lnkInbox').mouseout(function () {
            $('#aInbox').removeClass('aInbox-Hover');
            $('#aInbox').addClass('aInbox');

            //put hover effect on the selected menu
            var activeMenu = '<%:ViewData["ActiveMenu"] %>';
            if (activeMenu == "Account") {
                $('#aAccount').removeClass('aAccount');
                $('#aAccount').addClass('aAccount-Hover');

            }});

これが私がやっている方法ですが、それを行う他の方法はありますか...

asp.net mvc3 マスター ページの1 つの適切なリンク アクティブ メニュー項目を見つけたことを提案してください 。

4

1 に答える 1

0

あなたが見つけた答えを使用してください。ヘルパー クラスを作成するには、新しいクラスをプロジェクトに追加します。つまり、次のようにします。

public static class LinkHelpers
{
//copy here the first block of code from the answer
}

HomeController メソッドに追加します (おそらく既に持っています)。

public class HomeController : Controller
{
   public ActionResult About()
   {
     return View()
   }
   public ActionResult Index()
   {
     return View()
   }
}

それぞれのビューを作成してマスター ページに追加する

<ul>
    <li>@Html.MenuLink("Main", "Index", "Home")</li>
    <li>@Html.MenuLink("About us", "About", "Home")</li>
</ul>

そして最後にあなたのcssファイルで宣言します

.current{background-color:red;}
于 2012-04-25T13:43:51.090 に答える