2016-07-25 5 views
0

У меня есть работа, но для моего собственного понимания я пытаюсь понять, почему @ Html.ActionLink не будет работать в Bootstrap Modal?Почему Html.ActionLink не работает в Bootstrap Modal?

Я создал контроллер LogOut, который выполняет некоторую регистрацию и очищает некоторые переменные сеанса перед перенаправлением. Мне удалось создать ссылку для выхода на мою страницу макета с помощью @ Html.ActionLink без проблем. Тем не менее, у меня также есть представление, в котором используется Bootstrap Modal. Когда я использую тот же @ 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 не будет работать.

ответ

3

Вы используете ошибку ActionLink неправильно!

Попробуйте перегрузить.

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

4-й параметр для передачи значений маршрута (значения QueryString) и 5-е для HTML атрибутов ссылки.

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

Это было. Я предполагаю, что здесь нет никакой разницы в использовании либо @ Html.Actionlink, либо @ Url.Action? – Caverman

+0

'Url.Action' производит относительный путь к этому конкретному методу действия. 'Html.ActionLink' создает разметку для тега' a' с соответствующим значением атрибута 'href'. – Shyju

Смежные вопросы