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>

我在主布局文件的两个地方包含了部分视图。@Html.Partial("_MyNav")。其中一个部分视图需要具有所有链接,而另一个部分视图需要具有两个链接。

无论如何,我可以通过传递参数来隐藏 _MyNav 中的链接之一吗?

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 回答