2012-01-04 2 views
0

У меня есть сайт, который я бег, локальный и путь на браузереASP.Net страницы относительные пути?

"http://localhost:3184/basel/index.aspx" 

У меня есть меню, которое содержит различные гиперссылки, и один из них:

<a href="en/open-account/index.aspx"></a> 
//This will evaluate to http://localhost:3184/basel/en/open-account/index.aspx. 

Гиперссылка перенаправляет меня выше страницы, после того, что, когда я пытаюсь нажать ту же ссылку снова в меню, путь к странице следующее:

"http://localhost:3184/basel/en/open-account/en/open-account/index.aspx" 

Почему это то, что путь дублируется, я борется какое-то время, но, похоже, не могу понять это, любое решение?

ответ

1

Попробуйте это:

<a href="~/en/open-account/index.aspx" runat="server"></a> 

Использование тильды создает относительно приложения путь.

+0

Я пробовал то, что вы сказали ранее, и это дает мне следующее path: "http: // localhost: 3184/basel/~/en/open-account/index.aspx". Как вы можете видеть, знак «~» препятствует пути и не оценивается, не знаете, почему? –

+2

Вы добавили атрибут runat = "server" в тег ' danludwig

+0

Нет, это не имеет значения –

0

Что находится в вашем коде? Если тег A задается динамически (может быть, что-то вроде этого myHyperlink.NavigateURL += "en/open-account/index.aspx";), то каждый раз, когда страница загружается, у URL-адреса будет добавлено новое значение.

Возможно, проверьте код позади, чтобы увидеть, работает ли этот URL? Если вы уже сделали это, мои извинения :)

+0

В коде отсутствует код maniuplate за тем, что так всегда, и тег A находится в исходном коде. –

0

Использование метода Page.ResolveUrl(). Если relativeUrl имеет абсолютный URL, URL-адрес возвращается без изменений. Если у relativeUrl есть относительный URL-адрес, этот URL-адрес изменяется на относительный URL-адрес, который является правильным для текущего пути запроса, так что браузер может разрешить URL-адрес