---
title: "Relativ URL från virtuell katalog?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/116587-relativ-url-från-virtuell-katalog"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "anbj"
published: "2004-11-24T09:21:28.000Z"
updated: "2004-11-26T07:35:54.000Z"
replies: 8
views: 457
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/116587-relativ-url-från-virtuell-katalog"
---

# Relativ URL från virtuell katalog?

## #1 — anbj, 2004-11-24T09:21Z

Vilket är det smartaste sättet att skriva länkar som ska funka oavsett var i en hierarki de placeras och som ska fungera oavsett vad den virtuella katalogen ligger/heter?

En variant är ju att hålla en applikationsvariabel som talar om var applikationen finns/heter, men det måste väl finnas enklare sätt?

Jag vill mao kunna få fram en länk som ser ut enligt nedan beroende på var min applikation heter/finns:

ex.
/myapp1/mypage.aspx
/myapp32/mypage.aspx
/myapps/myapp1/mypage.aspx

Några smarta tips?

Permalänk: https://www.webforum.nu/p/116587

## #2 — anbj, 2004-11-24T13:21Z

Request.ApplicationPath verkar vara det jag letar efter  :)

Permalänk: https://www.webforum.nu/p/1491851

## #3 — PDahlen, 2004-11-24T13:55Z

\~/ länkar till applikationens root.

Permalänk: https://www.webforum.nu/p/1491882

## #4 — anbj, 2004-11-24T16:01Z

Nu är jag lost, vad menar du??

Permalänk: https://www.webforum.nu/p/1491959

## #5 — anbj, 2004-11-24T16:11Z

Ah, nu är jag med:

```
<asp:HyperLink NavigateUrl="~/myPage.aspx" Runat="server">BlaBla</asp:HyperLink>
```

Permalänk: https://www.webforum.nu/p/1491964

## #6 — maqe, 2004-11-25T16:27Z

Jag lånar denna tråd lite ...

Jag skall skapa pdf filer on the fly och skickar med en string som är sökvägen dit jag vill spara filen. \~/ detta verkar inte fungera att skicka som parameter till en metod så då har jag gjort en string variabel som innehåller sökvägen till den diren jag vill komma åt.

> basePath = "\~/reports/" + Username;

basePatch fungerar inte heller att skicka med som parameter till en metod. Jag hamnar i c:\\WINDOWS\\System32 om jag kör med basePath. Någon som vet hur man ska göra?

Permalänk: https://www.webforum.nu/p/1492411

## #7 — PDahlen, 2004-11-25T17:02Z

Om du ska skapa filer behöver du nog göra en Server.Mappath också.
Prova

```
basePath = Server.MapPath("~/reports/" + Username);
```

Permalänk: https://www.webforum.nu/p/1492427

## #8 — maqe, 2004-11-25T19:26Z

Har testat nu men får tyvärr detta fel ... 

> Ogiltig sökväg för MapPath c:\\inetpub\\wwwroot\\TimeReporter\\reports\\marlin. En virtuell sökväg förväntas
> DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath(basePath));

Permalänk: https://www.webforum.nu/p/1492487

## #9 — Gladh, 2004-11-26T07:35Z

Du kan inte använda dig av BasePath eftersom denna plocka fram sökvägen till den applikation som kör dina sidor, alltså IIS:en.

Det betyder att din basePath ALLTID kommer att peka på: c:\\WINDOWS\\System32  oavsett vilka sidor som du kör ifrån.

Om du däremot skriver SOM patrik har föreslagit så kommer du få en säkväg till en Reports mapp i respektive www-applikations basmapp.

\- M

Permalänk: https://www.webforum.nu/p/1492633

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/116587-relativ-url-från-virtuell-katalog
