Поскольку список файлов — это просто обычный список строк, его легко привязать к списочному элементу управления, в результате чего можно подучить более эффективный синтаксис для отображения файлов на странице:

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.

Классы DirectoryInf о и FileInfо

Классы 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

Hosted by uCoz