Как получить полный путь MVC ActionLink в Jquery - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь установить класс для выбранного якоря меню на основе URL.У меня есть ниже actionlinks

@Html.ActionLink("Home","Index","Home" new {type="new task"},null)
@Html.ActionLink("Home","Index")

Мне нужно получить полный путь в Jquery, чтобы изменить выбранную ссылку на основе URL, как указано ниже

$("a").each(function () {
 if (location.indexOf($(this).prop('href')) != -1) {
                          $(this).addClass('mlnkactive').siblings().removeClass('mlnkactive');
                        $(this).parent().addClass('mlnkactive').siblings().removeClass('mlnkactive');
});

Проблема в том, что когда я получаю hrefиз ссылок, использующих $ (this) .prop ('href'), обе вышеуказанные ссылки Home имеют одинаковое значение href. Поэтому выбраны оба якоря, и я не могу установить класс для выбранной ссылки на основе URL.

Спасибо,

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Почему бы вам не добавить класс css на выбранную сторону сервера ссылок (в ActionLink)?

<div id="menulinks">
    @Html.ActionLink("Home","Index","Home" new {type="new task"}, new { @class = "mlnkactive" })
    @Html.ActionLink("Home","Index")
</div>

А потом удалить класс и добавить его на новую выбранную ссылку на стороне клиента? Как это:

$('#menulinks a').click(function(){
    $('#menulinks a').removeClass('mlnkactive');
    $(this).addClass('mlnkactive');
}
0 голосов
/ 18 августа 2011

Может быть, попытаться использовать обычного пользователя @ Url.Action внутри атрибута href Например:

<a href="@Url.Action("action_name", "controller", new { action_parametr_name = action_parameter_value})">Link 1</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...