为什么Html.ActionLink不能在Bootstrap Modal中工作?

时间:2016-07-25 17:09:31

标签: asp.net-mvc twitter-bootstrap

我有一个解决方法但是为了我自己的理解,我试图找出为什么@ Html.ActionLink不能在Bootstrap Modal中工作?

我创建了一个LogOut控制器,它可以在重定向之前执行一些日志记录并清除一些会话变量。我能够使用@ Html.ActionLink在我的布局页面上创建一个注销链接,没有问题。但是,我也有一个使用Bootstrap Modal的View。当我使用相同的@ Html.ActionLink时,它不起作用。

@Html.ActionLink("OK", "Index", "LogOut", new { @class = "btn btn-success btn-lg" })

当我查看F12工具时,我可以看到链接不正确。这就是它创造的。

<a class="btn btn-success btn-lg" href="/?Length=6">OK</a>

但是,如果我在锚标记中使用@ Url.Action,它可以正常工作。这是有效的。

<a href='@Url.Action("Index","LogOut")' class="btn btn-success btn-lg">OK</a>

我可以使用@ Url.Action,但我只是想了解为什么@ Html.ActionLink无法正常工作。

1 个答案:

答案 0 :(得分:3)

您使用的ActionLink重载错误!

试试这个重载。

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    string controllerName,
    object routeValues,
    object htmlAttributes
)

第4个参数用于传递路由值(查询字符串值),第5个参数用于链接的html属性。

@Html.ActionLink("OK", "Index", "LogOut", null, new { @class = "btn btn-success btn-lg" })