Поскольку список файлов — это просто обычный список строк, его легко привязать к списочному элементу управления, в результате чего можно подучить более эффективный синтаксис для отображения файлов на странице:
string directoryName = @"c:\Temp";
lstFiles.DataSource = Directory.GetFiles(directoryName);
lstFiles.DataBind();
На заметку! Чтобы этот код работал, учетная запись, от имени которой запущен процесс ASP.NET, должна иметь права доступа к используемому каталогу. В противном случае будет возбуждено исключение SecurityException, когда Web-страница попытается обратиться к файловой системе. Вы можете модифицировать права на каталог, щелкнув правой кнопкой мышы на этом каталоге, выбрав в контекстном меню команду Properties (Свойства) и затем перейдя на вкладку Security (Безопасность). Если вы используете настройки ASP.NET по умолчанию с сервером IIS 5, то должны выдать права на чтение и запись учетной записи ASP.NET (В IIS 6 вместо этого используется учетная запись локальной сети). Альтернативно, и может быть, легче модифицировать учетную запись, которая использует ASP.NET, так, чтобы вообще не пришлось менять эти права доступа. За подробностями обращайтесь в главу 18, в которой объясняется, как конфигурировать учетную запись, используемую приложениями ASP.NET.
Классы DirectoryInfo и FileInfо отражают функциональность классов Directory и File. В дополнение они облегчают просмотр отношений каталогов и файлов. Например, вы можете легко получить объекты FileInfо для всех файлов, представленных в объекте DirectoryInfо.
Обратите внимание, что в то время как классы File и Directory предоставляют только методы. DirectoryInfо и FileInfo предлагают комбинацию методов и свойств. Например, в то время как класс File включает отдельные методы GetAttributes() и SetAttributes(), класс FileInfo имеет свойство Attributes, доступное для чтения и записи.
Другая замечательная особенность классов DirectoryInfо и FileInfo состоит в том, что они разделяют общий набор свойств и методов, поскольку оба наследуются от общего базового класса FileSystemInfо. В табл. 13.3 описаны методы общие для этих двух классов.
Таблица 13.3. Члены DirectoryInfо и FileInfo
| Член | Описание |
|---|---|
| Attributes |
Позволяет извлекать или устанавливать атрибуты, используя
комбинации значений из перечисления FileAttributes. |
| CreationTime, LastAccessTime и LastWriteTime |
Позволяют устанавливать, извлекать или устанавливать, время создания, время последнего доступа и время последней записи с применением объекта DateTime. |
| Exists | Возвращает true или false в зависимости от того, существует ли
файл или каталог. Другими словами, вы можете создавать объекты
FileInfo и DirectoryInfo, которые в действительности не
соответствуют текущим физическим каталогам и файлам, хотя очевидно, что в этом случае вы не сможете использовать свойства вроде
CreationTime и методы наподобие MoveTo(). |
предыдущая следующая страница вначало главы оглавление
575