Я обнаружил, что мое решение в приведенном выше комментарии работает только в Firefox, это улучшенное решение для обновления страницы, даже если вы нажмете на ту же ссылку, что и текущая, но с хеш-тегом:
$(document).ready(function () { // refresh page when clicking menu item with current address $('#<%=aspMenu.ClientID%> a').click(function () {
var currentUrl = location.pathname;
var clickedUrl = $(this).attr('href');
if (currentUrl.indexOf('#') != -1 || clickedUrl.indexOf('#') != -1){
if (currentUrl.indexOf('#') != -1)
currentUrl = currentUrl.substring(0, currentUrl.indexOf('#'));
if (clickedUrl.indexOf('#') != -1)
clickedUrl = clickedUrl.substring(0, clickedUrl.indexOf('#'));
if (currentUrl == clickedUrl)
location.reload();
}); });
Или даже лучше: удаление якорей с цифрами из ссылок на документе готово:
$(document).ready(function () {
$('#<%=aspMenu.ClientID%> a').each(function () {
var re = /#\d/
var url = $(this).attr('href');
$(this).attr('href', url.replace(re, ""));
});
});