Mostrare le sottodirectory con data list ed il data binding

di Daniele Bochicchio, in ASP.NET, Files, System.IO,

Una delle grandi novità (e comodità) di ASP.NET è la possibilità di utilizzare il data binding per inviare un certo numero di dati da un contenitore ad un oggetto (data list) in grado di visualizzarli e formattarli secondo un certo schema.
L'esempio di oggi mostrerà tutte le sottodirectory a partire dalla root, utilizzando il namespace System.IO per l'accesso alle proprietà del File System, ed appunto il data binding per mostrarne in maniera rapida e precisa i dati.

<%@ Page Language="VB" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">

' definisco la variabile che conterrà
' il percorso relativo alla directory
Dim txtDirectoryName as String = Server.MapPath("/")

Sub Page_Load(sender as Object, e as EventArgs)

 Dim dirInfo as DirectoryInfo = new DirectoryInfo(txtDirectoryName)

 Try
  dlFolderList.DataSource = dirInfo.GetDirectories()
  dlFolderList.DataBind()

 Catch dnfException as DirectoryNotFoundException
  lblDirInfo.Text = "<font color=red><b>" & _
  dnfException.Message & "</b></font>"
 End Try

End Sub

</script>
<form runat="server">
<asp:DataList runat="server" id="dlFolderList" DataKeyField="Name">
<HeaderTemplate>
<table border=0>
  <tr>
    <th bgcolor=red>Dir</th>
  </tr>
</HeaderTemplate>
<ItemTemplate>
  <tr>
    <td><%# DataBinder.Eval(Container.DataItem, "Name") %></td>
  </tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:label id=lblDirInfo runat="server"/>
</form>

Ovviamente un data list può essere popolato anche con fonti differenti, come array o dati prelevati da un database.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi