MVC2: как определить, указывает ли actionlink на текущую страницу? - PullRequest
4 голосов
/ 18 апреля 2011

Я хочу применить имя класса, например «текущий», к ссылке на действие (в главном представлении), когда оно указывает на текущий URL, чтобы указать «включенное состояние» в пользовательском интерфейсе. Как я могу это сделать?

ОБНОВЛЕНИЕ: я понимаю, как применить атрибут, мне просто нужно знать, как получить ссылку для действия, чтобы знать, что она указывает на текущую страницу.

Ответы [ 2 ]

5 голосов
/ 18 апреля 2011

Я подозреваю, что MVC's ViewContext.RouteData.Values["action"] было бы полезно для этого. RouteData имеет диапазон пар ключ / значение (например, упомянутое здесь Действие), которые позволяют вам получать информацию о текущей странице и «состоянии просмотра» (для лучшего описания), с которыми вы в данный момент работаете.

2 голосов
/ 18 апреля 2011

, если это только для видимого использования, я бы использовал javascript с jQuery, чтобы быстро добавить класс для текущей ссылки

$(document).ready(function() {
  $('a.mylinks').each(function(i) {
    if ($(this).attr('href') == document.URL) {
        $(this).addClass('current');
    }
  });
});


<ul>
 <li><a href="file:///C:/Users/sam/Desktop/test%20(2).html" class="mylinks">link to current page</a></li>
 <li><a href="file:///C:/Users/sam/Desktop/test%20(3).html" class="mylinks">link to other page</a></li>
 <li><a href="file:///C:/Users/sam/Desktop/test%20(4).html" class="mylinks">link to another page</a></li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...