ASP.NET Web Pages - папка
- Предыдущая страница Макеты WebPages
- Следующая страница Глобальные WebPages
Эта глава знакомит с папками и путями к папкам.
В этой главе вы узнаете:
- Логическая и физическая файловая структура
- Виртуальные и физические имена
- Веб-URL и путь
Логическая файловая структура
Ниже приведена типичная файловая структура веб-страниц ASP.NET:

- Папка "Account" содержит файлы входа и безопасности
- Папка "App_Data" содержит базы данных и файлы данных
- Папка "Images" содержит изображения
- Папка "Scripts" содержит скрипты браузера
- Папка "Shared" содержит общие файлы (например, файлы макета и стилей)
Физическая файловая структура
Физическая структура папки "Images" на этом веб-сайте на компьютере подобна такому:
C:\Johnny\Documents\MyWebSites\Demo\Images
Виртуальные и физические имена
На основе примера выше:
Виртуальное имя веб-изображения подобно такому: "Images/pic31.jpg".
Но физическое имя подобно такому "C:\Johnny\Documents\MyWebSites\Demo\Images\pic31.jpg".
URL и путь
URL используется для доступа к файлам с веб-сайта:
http://www.codew3c.com/html5/html5_intro.asp
Файл, соответствующий URL на сервере:
C:\MyWebSites\htm5\html5_intro.asp
Виртуальный путь - это краткая форма физического пути. Если вы используете виртуальный путь, вы можете переместить веб-страницу в другое доменное имя (или сервер) без обновления пути.
URL http://www.codew3c.com/html/html5_intro.asp Имя сервера codew3c Виртуальный путь /html/html5_intro.asp Физический путь C:\MyWebSites\codew3c\/html/html5_intro.asp
Корневой каталог на дисковом накопителе пишется: C:\, но корневой каталог на веб-сайте пишется / (прямая черта).
Виртуальный путь папки web никогда не будет совпадать с физической папкой (почти всегда).
В вашем коде, в зависимости от содержания кода, может быть одновременно использован физический путь и виртуальный путь.
ASP.NET предоставляет три инструмента для обработки путей к папкам: оператор ~, метод Server.MapPath и метод Href.
Оператор ~
Чтобы определить виртуальный корневой каталог в программном коде, используйте оператор ~.
Если вы используете оператор ~ вместо пути, вы можете переместить веб-сайт в другую папку или положение без изменения никакого кода:
var myImagesFolder = "~/images"; var myStyleSheet = "~/styles/StyleSheet.css";
Метод Server.MapPath
Метод Server.MapPath преобразует виртуальный путь (/default.cshtml) в физический путь, который понимает сервер (C:\Johnny\MyWebSited\Demo\default.cshtml).
Этот метод используется для открытия данных файлов на сервере (данные файлы могут быть доступны только через полный физический путь):
var pathName = "~/dataFile.txt"; var fileName = Server.MapPath(pathName);
В следующей главе этого руководства вы узнаете больше о чтении и записи данных в файлы на сервере.
Метод Href
Метод Href преобразует пути в коде в пути, которые понимает браузер (браузер не понимает оператор ~).
Вы используете метод Href для создания путей к ресурсам (например, изображениям и файлам CSS).
Вы часто используете этот метод в элементах HTML <a>, <img> и <link>:
@{var myStyleSheet = "~/Shared/Site.css";} <!-- Создание ссылки на файл CSS --> <link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" /> <!-- Точно так же : --> <link rel="stylesheet" type="text/css" href="/Shared/Site.css" />
Метод Href принадлежит методам объекта WebPage.
- Предыдущая страница Макеты WebPages
- Следующая страница Глобальные WebPages