Pergunta

Os dois controles a seguir na minha página:

<asp:LinkButton ID="OpenLB" runat="server" >Open</asp:LinkButton>
<asp:HyperLink ID="OpenHL" runat="server">Open</asp:HyperLink>

Eu os defina durante a carga da página assim:

OpenLB.PostBackUrl = @"file:\\web\documents-emails\doc1.docx";
OpenHL.NavigateUrl = @"file:\\web\documents-emails\doc1.docx";

OpenHl funciona, ele abre o arquivo do Word.

O OpenLB não funciona, quando clico nele, recebo um erro de erro que diz:

O Windows Internet Explorer não pode encontrar o arquivo 'arquivo: //web//documents-emails//doc1.docx'. Verifique se o caminho ou o endereço da Internet está correto.

Parece que o URL é diferente ou algo assim, como posso consertar isso?

Foi útil?

Solução

O linkbutton funciona postando a página da web de volta ao servidor usando o URL fornecido. Ele exibe o botão no estilo de um hiperlink, mas usa JavaScript para postar o formulário de volta no servidor no URL fornecido. Você não poderá usá -lo com um file: URL, pois você não pode postar em um arquivo local. O hiperlink apenas cria uma âncora que resulta na localização do navegador sendo definido para o URL quando ele é clicado.

Outras dicas

UMA HyperLink foi projetado para vincular a outra página ou arquivo. É simplesmente um invólucro para um <a> marcação.

UMA LinkButton foi projetado para postar a página e disparar um evento no lado do servidor.

Primeiro, verifique se você está usando o tipo correto de controle em cada situação.

Eu acho que é simplesmente que, em um caso, você está navegando para o arquivo, e isso abre como esperado o outro que você está pedindo para publicar Para o arquivo docx, quando deve ser um URL válido

O comportamento padrão do linkButton é postar de volta em uma página ASPX para lidar com o evento postal em resposta ao usuário final clicando no link. O postbackurl está em branco por padrão, indicando que o link posta novamente na página atual. Definir a propriedade Postbackurl destina -se a postagens cruzadas de página cruzada, caso em que você lidará com o evento de clique em outra página do APSX.

Propriedade do MSDN Postbackurl

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top