Este capítulo é sobre pastas e caminhos de pastas.
Neste capítulo, você aprenderá:
- Sobre estruturas de pastas lógicos e físicos
- Sobre nomes virtuais e físicas
- Sobre URLs da web e Caminhos
Estrutura pasta lógica
Abaixo está uma estrutura de pasta típico para um páginas web site ASP.NET:
- A "Account" pasta contém arquivos de logon e segurança
- O "App_Data" pasta contém as bases de dados e arquivos de dados
- O "Images" pasta contém imagens
- O "Scripts" pasta contém scripts do navegador
- O "Shared" pasta contém arquivos comuns (like layout and style files)
Estrutura pasta física
A estrutura física para os "Images" pasta no site acima pode parecer como este em um computador:
C: \ Johnny \ Documents \ MyWebSites \ demo \ Images
Nomes virtuais e físicas
A partir do exemplo acima:
O nome virtual de uma imagem na web pode ser "Images/pic31.jpg" .
Mas o nome físico é "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg"
URLs e Caminhos
URLs são usados para acessar os arquivos a partir da web: http://www.w3ii.com/html/html5_intro.asp
O URL corresponde a um arquivo físico no servidor: C: \ MyWebSites \ w3ii \ html \ html5_intro.asp
Um trilho virtual é uma abreviação para representar caminhos físicos. Se você usar caminhos virtuais, você pode mover suas páginas para um domínio diferente (or server) sem ter que atualizar os caminhos.
URL | http://www.w3ii.com/html/html5_intro.asp |
Nome do servidor | w3ii |
caminho virtual | /html/html5_intro.asp |
caminho físico | C: \ MyWebSites \ w3ii \ html \ html5_intro.asp |
A raiz de uma unidade de disco é escrito como C: \, mas a raiz em um Web site é / (forward slash) .
O caminho virtual de uma pasta web é (almost) nunca o mesmo que a pasta física.
Em seu código você vai, referenciar o caminho físico eo caminho virtual, dependendo do que você está codificando.
ASP.NET tem 3 ferramentas para trabalhar com caminhos de pasta: o operador ~, o método Server.MapPath, e o método Href.
O operador ~
Para especificar a raiz virtual no código de programação, use o operador ~.
Se você usar o operador ~, em vez de um caminho, você pode mover o seu site para uma pasta ou localização diferente sem alterar qualquer código:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
O método Server.MapPath
O método Server.MapPath converte um caminho virtual (/default.cshtml) para um caminho físico que o servidor pode compreender (C:\Johnny\MyWebSited\Demo\default.cshtml) .
Você vai usar esse método quando você precisa para abrir arquivos de dados localizados no servidor (arquivos de dados só podem ser acessados com um caminho físico completo):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
Você vai aprender mais sobre a leitura de (and writing to) os arquivos de dados no servidor no próximo capítulo deste tutorial.
O Método Href
O método Href converte um caminho usado no código para um caminho que o navegador pode entender (the browser cannot understand the ~ operator) .
Você usa o método Href para criar caminhos para recursos como arquivos de imagem e arquivos CSS.
Muitas vezes você vai usar este método em <a> HTML, <img> e <link> elementos:
@{var myStyleSheet = "~/Shared/Site.css";}
<!-- This creates a link
to the CSS file. -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)"
/>
<!-- Same as : -->
<link rel="stylesheet" type="text/css" href="/Shared/Site.css"
/>
O método Href é um método do objecto página da web.