Este capítulo fornece informações sobre pastas e caminhos de pastas.
Nas páginas da Web ASP.NET, existem duas estruturas de pastas, a saber, estrutura de pasta lógica e estrutura de pasta física.
Neste capítulo você aprenderá:
Estrutura lógica de pastas e estrutura física de pastas
Nomes virtuais e físicos
URLs e caminhos da Web
A seguir está uma estrutura típica de pastas de sites ASP.NET:
A pasta "Conta" contém arquivos de login e segurança
A pasta "App_Data" contém banco de dados e arquivos de dados
A pasta "Imagens" contém imagens
A pasta "Scripts" contém scripts do navegador
A pasta "Compartilhada" contém arquivos comuns (como arquivos de layout e estilo)
A estrutura física da pasta "Imagens" no site acima em seu computador pode ser a seguinte:
C:DocumentosMeusWebSitesDemoImagens
Veja o exemplo acima:
O nome virtual da imagem de um site pode ser "Images/pic31.jpg".
O nome físico correspondente é "C:DocumentsMyWebSitesDemoImagespic31.jpg".
A URL é usada para acessar arquivos no site: //www.w3cschool.cn/html/html-tutorial.html
A URL corresponde ao arquivo físico no servidor: C:MyWebSitesw3cschoolhtmlhtml-tutorial.html
Um caminho virtual é uma representação abreviada de um caminho físico. Se você usar caminhos virtuais, não será necessário atualizá-los ao alterar nomes de domínio ou mover páginas da Web para outros servidores.
URL | //www.w3cschool.cn/html/html-tutorial.html |
Nome do servidor | escola w3c |
caminho virtual | /html/html-tutorial.html |
caminho físico | C:MeusWebSitesw3cschoolhtmlhtml-tutorial.html |
O diretório raiz de uma unidade de disco é escrito como C:, mas o diretório raiz de um site é / (barra).
O caminho virtual de uma pasta da Web geralmente é diferente da pasta física.
No seu código, decida entre caminhos físicos e virtuais com base nas suas necessidades de codificação.
Existem 3 ferramentas para caminhos de pasta ASP.NET: operador ~, método Server.MapPath e método Href.
Use o operador ~ para especificar caminhos virtuais no código de programação.
Se você usar o operador ~, poderá mover seu site para uma pasta ou local diferente sem alterar nenhum código:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
O método Server.MapPath converte o caminho virtual (/index.html) em um caminho físico que o servidor entende (C:DocumentsMyWebSitesDemodefault.html).
Quando precisar abrir um arquivo de dados no servidor, você pode usar este método (o arquivo de dados só pode ser acessado fornecendo o caminho físico completo):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
No próximo capítulo deste tutorial, você aprenderá mais sobre como ler (e gravar) arquivos de dados no servidor.
O método Href converte o caminho usado no código em um caminho que o navegador possa entender (o navegador não consegue entender o operador ~).
Você pode usar o método Href para criar caminhos para recursos como arquivos de imagem e arquivos CSS.
Este método é normalmente usado nos elementos <a>, <img> e <link> em HTML:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- Isso cria um link para o arquivo CSS --> <link rel="stylesheet" type="text/css" href="@. Href(myStyleSheet)" /> <!-- O mesmo que: --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
O método Href é um método do objeto WebPage.