将ActionLink插入现有标记

时间:2012-11-18 14:20:44

标签: asp.net-mvc asp.net-mvc-3 razor

我有一个来自MVC4的默认互联网应用程序模板,我想根据用户登录添加一些指向<nav>标签的链接。

即所有用户都有默认导航面板,但如果是管理员登录,则应该有管理产品库存的额外链接。

现在它看起来像是(来自_Layout.cshtml):

            <nav>
                <ul id="menu">
                    <li>@Html.ActionLink("Home", "Browse", "Product")</li>
                    ...
                </ul>
            </nav>

我需要以某种方式插入新的ActionLink。我试图在默认布局中创建一个if语句,但它不起作用。如何在<li>内添加额外的<nav>代码?我不熟悉JavaScript或JQuery,但可以使用MVC功能吗?

1 个答案:

答案 0 :(得分:1)

是的,这可以使用剃刀语法

来实现
            <nav>
                <ul id="menu">
                    <li>@Html.ActionLink("Home", "Browse", "Product")</li>
                    @if( User.IsInRole("Admin") ){
                     <li>@Html.ActionLink("Admin", "...", "...")</li>
                    }
                </ul>
            </nav>