Entwickler-Ecke

ASP.NET und Web - Home-Pfad ermitteln


rittergig - Di 26.07.11 15:39
Titel: Home-Pfad ermitteln
Hallo ich brauche den absoluten Pfad meiner Anwendung. Also die URL, ohne Parameter, Methode und Controllername

Beispiel für folgende URLs:

http://www.xyz123.de/
http://www.xyz123.de/Test
http://www.xyz123.de/Test/DoTest
http://www.xyz123.de/Test/DoTest/1
http://www.xyz123.de/Test/DoTest/1?par1=x
http://www.xyz123.de/Test/DoTest?id=1?par1=x

möchte ich immer
http://www.xyz123.de/
erhalten.

Wie kann ich den ermitteln?

Gruße, Peter


Ralf Jansen - Di 26.07.11 15:49

Zum Beispiel über die Uri [http://msdn.microsoft.com/de-de/library/system.uri.host.aspx] Klasse.


rittergig - Mi 27.07.11 11:37

Danke.
Ich habe es für das <base>-Tag gebraucht, weil einige ASP.NET Usercontrols, welche Bilder generiert haben, nicht funktioniert haben.
Grund war der, dass der Pfad zu den Bildern relativ angegeben war, aber dieser durch die veränderte URL bei MVC nicht mehr stimmten.

Das habe ich nun in der _Layout.cshtml eingefügt

C#-Quelltext
1:
<base href="@MyNameSpace.MvcApplication.GetBasicPath(this.Request)" />                    

GetBasicPath:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
        public static string GetBasicPath(HttpRequestBase request)
        {
            string url = request.Url.AbsoluteUri;
            string x = request.RawUrl;

            return url.Remove(url.IndexOf(x));
        }