2009-01-02 11 views
6

Estoy tratando de usar un botón de hipervínculo en Silverlight para permitir al usuario descargar un documento de Word. No me importa si aparece un cuadro para guardar como aparece o si la palabra doc se abre en un nuevo navegador. Me sale el error "no puedo navegar a ubicaciones relativas a una página". Lo he visto publicado que puedes hacer esto con la ruta absoluta (www.domain.com/filename.doc), pero tiene que haber una forma de hacer que este sea relativo (/docs/filename.doc). Alguien sabe como?silverlight ... hyperlinkbutton a archivo usando la ruta relativa

Respuesta

4

El HyperlinkButton sólo funciona con direcciones URL absolutas, por lo que debe fixup sus URL en tiempo de ejecución:

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

de Silverlight.net forums.

+0

bien ... que parece que la mayoría resuelve mi problema ... ¿hay una manera de hacer que el trabajo con la Cassini? – GWTF

+0

No importa, también funciona con Cassini ... Solo tuve que agregar "ClientBin" en la ruta – GWTF

13

un poco más fácil:

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

Mucho más fácil. ¡Funciona genial! – iggymoran

Cuestiones relacionadas