I have an asp:Menu and it contains a top level menu item that points to http://www.example.com/one.aspx. When you hover over the top level menu item, it shows a dropdown and on
I found out my solution in the comment above only worked on Firefox, this is an improved solution to make the page refresh even if you click on the same link as the current one but with an hash tag:
$(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();
}); });
Or even better: removing the anchors with the digits from the hrefs on document ready:
$(document).ready(function () {
$('#<%=aspMenu.ClientID%> a').each(function () {
var re = /#\d/
var url = $(this).attr('href');
$(this).attr('href', url.replace(re, ""));
});
});