Нет, это не проблема DNS, и ASP.net не выполняет никакого разрешения DNS. Это вся ответственность браузера, в котором вы просматриваете страницу.
Однако есть несколько обстоятельств, которые могут привести к тому, что в разметке страницы будут использоваться непоследовательные URL-адреса, которые могут интерпретироваться браузером клиента по-разному.
Браузеры всегда будут интерпретировать URL-адрес, начинающийся с «http://", одним и тем же образом - это абсолютный URL-адрес, поэтому назначение всегда будет разрешать одно и то же. Убедитесь, что начинаются все ваши URL-адреса вашего основного сайта» http://".
URL, начинающиеся с "www." (никакие http://) не будут рассматриваться как относительные URL-адреса - т. е. если страница, содержащая URL-адрес, имеет значение http://www.google.com,, по сути, вы запрашиваете http://www.google.com/YourUrl. Вы обнаружите, что это почти наверняка не поведение, которое вы ищете.
URL, начинающиеся с косой черты (/), будут считаться абсолютными в текущем домене. Например, «/ Tools» в Google приведет к запросу «http://www.google.com/Tools".. Если косая черта отсутствует, браузер будет обрабатывать URL-адрес как относящийся к просматриваемой в данный момент странице (т. Е. URL-адрес« Tools »). msgstr "при просмотре страницы в папке" en "возникает запрос к" en / Tools ".
Я думаю, что именно здесь возникают ваши проблемы. Для согласованного поведения я считаю хорошим правилом убедиться, что все URL начинаются с косой черты. Если вы хотите убедиться, что все ваши гиперссылки, сгенерированные вашим ASP-кодом, верны, используйте тильду (которую ASP заменит на путь к корневой папке приложения):
<asp:Hyperlink id="Test1" runat="server" NavigateUrl="~/Tools/Default.aspx">Tools</asp:Hyperlink>
Таким образом, не имеет значения, где находится ваша страница в структуре вашего сайта, используете ли вы Cassini, веб-сайт в IIS или виртуальный каталог в IIS - URL всегда будет преобразовываться в правильный адрес.
Если вы хотите вывести URL, который не является свойством серверного элемента управления, используйте метод ResolveUrl:
<a href="<%= ResolveUrl("~/Tools/Default.aspx")%>">Tools</a>
Надеюсь, это поможет.