2009-03-16 24 views

Odpowiedz

2

Strona może zawierać kilka adresów URL. Na przykład mam serwer działający w domu, a URL strony jest inny w zależności od tego, skąd go sprawdzam. Kiedy jestem w domu, używam wewnętrznej nazwy serwera, aby ruch nigdy nie opuszczał mojej sieci domowej. Kiedy jestem gdzie indziej, muszę użyć adresu URL opartego na dyndns.org. Mógłbym również skonfigurować kilka różnych witryn, aby wszystkie wskazywały to samo miejsce. Chodzi o to, że informacje te nie są powiązane z typem twojej strony, ani nawet z konkretną instancją.

Dlatego URL strony można określić jedynie na podstawie na żądanie, i rzeczywiście można je dostać patrząc na Request.Url

+0

rzecz na pytanie jest moim problemem.Zawsze mogę uzyskać to w kontekście, ale chciałbym po prostu uzyskać ścieżkę skryptu wirtualnie (dla sieci) lub fizycznie (na dysku). Właściwie nie potrzebuję pełnego adresu tylko katalog i lokalizacja skryptu. –

+0

Moją radą jest dodać tę ścieżkę jako parametr dla jakiejkolwiek funkcji, która tego wymaga i zmienić sposób jej wywoływania. –

+0

Hmm ... Biorę jej część z powrotem. Jest to na sesję, a nie na żądanie. Jednak logika (i proponowane rozwiązanie) nadal obowiązuje. –

1

Mam nadzieję, że jeden z nich będzie pomóc.

Understanding Paths in ASP.NET

Ekspresja - Ocena

this.TemplateSourceDirectory -/informit/podkatalog

Request.MapPath ("log.txt") - c: \ mywebdirs \ informit \ podkatalog \ log. TXT

this.MapPathSecure ("log.txt") - c: \ mywebdirs \ informit \ podkatalog \ log.txt

Request.Path -/informit/subdi r/pathsample.aspx/extra

Request.FilePath - /informit/subdir/pathsample.aspx

Request.CurrentExecutionFilePath - /informit/subdir/pathsample.aspx

Request.PathInfo -/extra

Request.PhysicalPath - c: \ mywebdirs \ informit \ podkatalog \ pathsample.aspx

Request.PhysicalApplicationPath - c: \ mywebdirs \ informit \

Request.ApplicationPath -/informit

Request.Url - http://localhost/informit/subdir/client.aspx/extra

Request.RawUrl - /informit/subdir/pathsample.aspx/extra

Response.ApplyAppPathModifier ("foo.aspx") -/informit/podkatalog/foo.aspx

this.ResolveUrl ("~/client.aspx") - /informit/pathsample.aspx

0

powinny być dostępne za pośrednictwem

string currentUrl = Page.Request.Url.ToString();

0

Jeśli strona szukasz jest w tym samym katalogu co bieżącej strony lub podkatalogu niego, a następnie można użyć coś jak następujące (dodawanie strony do podkatalogu napisu, w zależności od potrzeb):

Powiązane problemy