1

私は次のように1つの部分的なビューを持っています

_MyNav.cshtml

<ul>
    <li>
        @Html.ActionLink("Link1", "Index", "Link",new { id="" }, null)
    </li>
    <li>
        @Html.ActionLink("Link2", "Index", " Link ",new { id="1" }, null)
    </li>
    <li>
        @Html.ActionLink("Link3", "Index", " Link ",new { id="2" }, null)
    </li>
</ul>

メイン レイアウト ファイルの 2 か所に部分ビューを含めました。@Html.Partial("_MyNav")。部分ビューの 1 つにはすべてのリンクが必要で、もう 1 つのビューには 2 つのリンクが必要です。

パラメータを渡すことで _MyNav のリンクの 1 つを非表示にできる方法はありますか?

4

1 に答える 1

1

モデルに強く型付けされた部分を作成します(あなたの場合はブール値):

@model bool

<ul>
    <li>
        @Html.ActionLink("Link1", "Index", "Link",new { id="" }, null)
    </li>
    <li>
        @Html.ActionLink("Link2", "Index", " Link ",new { id="1" }, null)
    </li>
    @if (Model)
    {
        <li>
            @Html.ActionLink("Link3", "Index", " Link ",new { id="2" }, null)
        </li>
    }
</ul>

そして、3つのリンクが必要な場合:

@Html.Partial("_MyNav", true)

2 つのリンクが必要な場合:

@Html.Partial("_MyNav", false)

もちろん、単なるブール値よりも複雑な情報をパーシャルに渡す必要がある場合は、ビュー モデルを定義してから、パーシャルをこのビュー モデルに強く型付けします。

于 2012-10-19T06:16:48.160 に答える