2009-01-02 11 views
6

Ich versuche, eine Hyperlinkschaltfläche in silverlight zu verwenden, um dem Benutzer zu ermöglichen, ein Worddokument herunterzuladen. Es ist mir egal, ob eine Datei speichern als Box angezeigt wird oder ob das Word-Dokument in einem neuen Browser geöffnet wird. Ich bekomme den Fehler "kann nicht zu Orten relativ zu einer Seite navigieren." Ich habe gesehen, dass Sie dies mit dem absoluten Pfad (www.domain.com/filename.doc) tun können, aber es muss eine Möglichkeit geben, diese relative (/docs/filename.doc) zu machen. Wer weiß wie?silverlight ... hyperlinkbutton zu Datei mit relativer Pfad

Antwort

4

Der Hyperlink funktioniert nur mit absoluter URLS, so dass Sie Ihre URLs zur Laufzeit fixup sollten:

uriCurrent = System.Windows.Browser.HtmlPage.Document.DocumentUri; 
string current = uriCurrent.OriginalString; 
int iLastSlash = current.LastIndexOf('/') + 1; 
current = current.Remove(iLastSlash, current.Length - iLastSlash); 

von Silverlight.net forums.

+0

Okay ... das scheint wie es meistens mein Problem löst ... ist es eine Möglichkeit, dass die Arbeit mit Cassini zu machen? – GWTF

+0

Vergesst es funktioniert auch mit Cassini ... Ich musste nur "ClientBin" in den Pfad – GWTF

13

Etwas einfacher:

Uri myAbsoluteUri = new Uri(HtmlPage.Document.DocumentUri, myRelativePath); 
+0

viel einfacher anhängen. Funktioniert super! – iggymoran