使用变量名填充Html.ActionLink()会导致href不完整

时间:2016-08-05 16:26:54

标签: c# asp.net-mvc razor

由于一些不寻常的要求,我在部分视图中获取控制器的名称并尝试使用控制器名称填充ActionLink,如下所示:

<table >
    <tr>
        <td style="vertical-align:bottom">
            <div>
                ....
                ....
            </div>
        </td>
        <td style="vertical-align:bottom">
            <div>
                ....
                ....
            </div>
        </td>
    </tr>
</table>

正在生成此HTML:

@{ var controllerName = this.ViewContext.RouteData.Values["controller"].ToString(); // controller name is "Office" @Html.ActionLink("Login", "Login", controllerName, null, new { @class = "btn btn-primary" }) }

然而它应该生成这个HTML:

<a class="btn btn-primary" href="/Office">Login</a>

奇怪的是,该链接仍然指向<a class="btn btn-primary" href="/Office/Login">Login</a>控制器中的Login操作。到底发生了什么?

0 个答案:

没有答案