5
我需要合併兩個包含.Path信息的URL。合併兩個URI時路徑部分被覆蓋
我想使用Uri
給我的可能性.TryCreate(),所以我可以捕獲格式不正確的URL。
,我現在面臨的問題是,基礎URI路徑似乎當我合併絕對和相對URI被忽略:
Uri absoluteUri= new Uri("http://hostname/path/", UriKind.Absolute);
Uri relativeUri = new Uri("/my subsite/my page.aspx?my=query", UriKind.Relative);
Uri resultUri;
if (!Uri.TryCreate(absoluteUri, relativeUri, out resultUri))
// handle errors
的上面的輸出是:
http://hostname/my%20subsite/my%20page.aspx?my=query
我希望它是:
http://hostname/path/my%20subsite/my%20page.aspx?my=query
有沒有一種方法來組合URL th包含使用Uri
類的路徑信息?
你試過這個嗎?當我做的時候沒有什麼區別。 – 2009-11-25 10:59:01
@anders,是的,適合我;我用一個完整的例子來編輯我的答案;請看看 – 2009-11-25 12:13:50
啊,我發現了什麼使你的代碼工作,而不是我的: 看來,絕對的網址也必須以/結束它的工作! 我用 字符串absoluteUrl =「http://主機名/路徑」; 它並沒有工作,但在「路徑」後兩端都是slahs,在「my」之前沒有開始斜線,似乎可以工作! 這看起來很脆,所以生病了多一點,但你應該得到這個答案:-) – 2009-11-25 12:35:35