GetFileSystemInfos
возвращает массив FileSystemInfo
, который не является FileInfo
For Each fi As FileSystemInfo In dir.GetFileSystemInfos()
' ... '
Next
A FileInfo
также FileSystemInfo
, потому что это дочерний класс, а не наоборот. DirectoryInfo.GetFileSystemInfos
возвращает файлы и каталоги. Таким образом, вы не можете привести их к FileInfo
.
Но так как вам нужен Length
, я предполагаю, что вам нужны только файлы. Затем используйте GetFiles
:
For Each fi As FileInfo In dir.GetFiles()
' ... '
Next
Это означает, что Вы не можете установить его через разработчика.
Корректный путь:
<asp:DropDownList runat="server" ID="testdropdown">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2" Selected></asp:ListItem>
<asp:ListItem Text="3" Value="3"></asp:ListItem>
</asp:DropDownList>
Причина связанный метод работает, состоит в том, потому что значение не выбрано в режиме проектирования, но во времени выполнения после того, как управление связывается с источником данных
DropDownList. Метод SelectedValue предназначен, чтобы быть примененным во времени выполнения следовательно ошибка о неспособности установить его 'декоративно'
в разметке используйте синтаксис SelectedValue='<%# "32" %> .(обратите внимание на следующий пример):
<asp:DropDownList ID="ddlField" SelectedValue='<%# "32" %>'
runat="server" DataTextField="Name" DataValueField="ID" >
</asp:DropDownList>
или в code-behind сразу после DataBinding .(пример):
ddlField.DataSource = Fields.SelectAll();
ddlField.DataBind();
ddlField.SelectedValue = "32";