ASP might just be doing this because # means "the current page" (like when you set # to be the value of an <a> tag and click it), so when you try to do this elsewhere, it is reading it wrong and attempting to load the current page as the resource for the favicon, therefore loading the page twice.