Da ich mich aktuell mit einer Programmieraufgaben mit ASP.NET Web API, Webforms und FriendlyUrls beschäftige, stehe ich dauernd vor Fragen wie
- Wie bekomme ich die Page?
- Wie erhalte ich den Querystring, das FriendlyUrlsegment?
- Wie komme ich auf den vollen Pfad?
Zunächst kommt es darauf an, wo man den Code platziert. In einer ASPX Page ist das Request Objekt direkt greifbar
Damit erhält man ein Objekt vom Typ Url. In Modulen, Handlern und Services, muss man über den HTTP Context gehen.
1: HttpContext.Current.Request.Url
Am Beispiel Url http://localhost:50458/test.aspx?Id=demo&val=0
ApplicationPath: /
CurrentExecutionFilePath:/test.aspx
FilePath: /test.aspx
Path: /test.aspx
PathInfo:
PhysicalApplicationPath: C:\WebSites\companyII\
RawUrl: /test.aspx?Id=demo&val=0
Url.AbsolutePath: /test.aspx
Url.AbsoluteUri: http://localhost:50458/test.aspx?Id=demo&val=0
Url.Fragment:
Url.Host: localhost
Url.Authority: localhost:50458
Url.LocalPath: /test.aspx
Url.PathAndQuery: /test.aspx?Id=demo&val=0
Url.Port: 50458
Url.Query: ?Id=demo&val=0
Url.Scheme: http
Url.Segments:
/
test.aspx