Como crear una galeria de fotos con ASP .NET

Para crear una galeria de fotos el primer paso que se debe hacer es crear un nuevo proyecto con visual studio 2005 que sea un sitio web.

Despues de haber creado el sitio web en el WebForm (Default.aspx) que crea por default Visual Studio

en el modo de codigo:

añadir el siguiente codigo entre los tags <div> </div>

<table>
<tr>
<td>
Selecciona la galería que deseas ver:<br />
<asp:DropDownList ID=”cboGallery” runat=”server”            AutoPostBack=”True”OnSelectedIndexChanged=”cboGallery_SelectedIndexChanged”>
</asp:DropDownList>
<asp:DataList ID=”dlsGallery” runat=”server” RepeatColumns=”5″>
<ItemTemplate>
<table>
<tr>
<td style=”border-style:solid; border-width:1px; width:150px; height:150px; text-                  align:center;”>
<a href=”Images/Gallery/<%#Eval(“GalleryID”)%>/<%#Eval(“FileName”)%>”                          target=”_blank”>
<asp:Image ID=”imgGallery” runat=”server” Height=”50px” Width=”50px”
ImageUrl=
‘<%#fnFilePath(DataBinder.Eval(Container.DataItem,”GalleryID”).ToString(),
DataBinder.Eval(Container.DataItem,”FileName”).ToString()) %>’ />
</a>
<p style=”text-align:center;”>
<a
href=”Images/Gallery/<%#Eval(“GalleryID”)%>/<%#Eval(“FileName”)%>” target=”_blank”>
<asp:Label ID=”lblFileDesc”
runat=”server”
Text=’<%#Eval(“FileDescription”)%>’></asp:Label>
</a>
</p>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br />
<asp:Label ID=”lblMessage” runat=”server” Text=”"></asp:Label>
</td>
</tr>
</table>

En modo diseño quedara algo parecido:

Importar los Siguientes espacios de nombres

using System.IO;

using System.Data;

Despues añadir el siguiente codigo dentro del archivo Default.aspx.cs:

//Dentro de la carpeta  Gallery añadir carpetas con las fotografias que se deseen mostrar

string varGalleryFolder = “C:\\inetpub\\wwwroot\\images\\Gallery”;

protected void GetFolders(string prmFolder)
{
try
{
if (Directory.Exists(prmFolder))
{
string[] arrFolders;
arrFolders = Directory.GetDirectories(prmFolder);
foreach (string dir in arrFolders)
{
ListItem lst = new ListItem(dir.Substring(prmFolder.Length + 1),
dir.Substring(prmFolder.Length + 1));
cboGallery.Items.Add(lst);
}
}
else
{
lblMessage.Text =
“No existe el directorio de imágenes”;
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
}
}

protected void GetFiles(string prmFolder)
{
try
{
string[] arrFiles;
arrFiles = Directory.GetFiles(prmFolder, “*.jpg”);
DataSet dsGallery = new DataSet(“dsGallery”);
DataTable taFile;
DataRow rwFile;
//DataColumn colFile;
taFile = dsGallery.Tables.Add(“Files”);
taFile.Columns.Add(“GalleryID”, varGalleryFolder.GetType());
taFile.Columns.Add(“FileName”, varGalleryFolder.GetType());
taFile.Columns.Add(“FileDescription”, varGalleryFolder.GetType());

foreach (string file in arrFiles)
{
//aqui llenamos el Dataset

rwFile = taFile.NewRow();
rwFile["GalleryID"] = prmFolder.Substring(varGalleryFolder.Length + 1); ;
rwFile["FileName"] = file.Substring(prmFolder.Length + 1);
rwFile["FileDescription"] = file.Substring(prmFolder.Length + 1);
taFile.Rows.Add(rwFile);
}

dlsGallery.DataSource = dsGallery.Tables["Files"];

if (dsGallery.Tables["Files"].Rows.Count == 0)
{
lblMessage.Text = “No se encontraron imágenes”;
}
else
{
lblMessage.Text = “Se encontraron “ +
dsGallery.Tables["Files"].Rows.Count.ToString() +” imágenes”;
}
dlsGallery.DataBind();
dsGallery.Dispose();
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
}
}

protected string fnFilePath(string prmPath, string prmFileName)
{
return (“imagenes/Gallery/” + prmPath + “/” + prmFileName);
}
//Evento Load del WebForm
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!Page.IsPostBack)
{
GetFolders(varGalleryFolder);
GetFiles(varGalleryFolder + “\\” + cboGallery.SelectedValue.ToString());
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
}
}

//Evento SelectedIndexChanged del DropDownList
protected void cboGallery_SelectedIndexChanged(object sender, EventArgs e)
{
GetFiles(varGalleryFolder + “\\” + cboGallery.SelectedValue.ToString());
}

3 comentarios para “Como crear una galeria de fotos con ASP .NET”

  1. YoNa Dice:

    hola…me parece bastante util tu codigo
    como lo aplicaria si guardo las rutas de mis imagenes en una base de datos?

    saludos heriberto

  2. Pablo Dice:

    Buenas, estuve utilizando el codigo que posteaste, me andubieron bien los links, lo que no se me ven son las imagenes en miniatura.
    Saludos

  3. Armando Dice:

    Excelente material muchas gracias eso estaba buscando, algo muy sencillo.

    Gracias

Escribe un comentario