Pergunta

Eu me encontrar com a função ResolveUrl muito em minhas páginas aspx, mas o caminho resolvido é sempre relativa. eu gostaria de ser capaz de ter o início caminho processado com o regular " http: // localhost / myproject / "

Como posso conseguir isso sem quebrar qualquer código no caso de eu mudar a hierarquia dos meus arquivos? Seria ineficiente para escrever uma função e chamá-lo para todos os links direcionados na página?

Foi útil?

Solução 2

Não importa caras, Eu encontrei algum código on-line a partir de um Rick Strahl pós e parece ser algo que eu poderia usar no meu caso! obrigado pela ajuda

Outras dicas

Use o ~ quando você resolver o url. Ele sempre vai para a raiz do aplicativo.

Exemplo

~/somedirectory/default.aspx

resolverá a ...

{applicationRoot}/somedirectory/default.aspx

Você precisará adicionar manualmente o endereço do servidor:

Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port

A função de exemplo seria

string ResolveAbsoluteUrl(string path)
{
    return Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + ResolveUrl(path);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top