login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Csharp.net photogallery met albums ontwikkelen

Offline Martijn2008 - 23/12/2009 20:20 (laatste wijziging 23/12/2009 20:23)
Avatar van Martijn2008PHP beginner Hallo allen,

Het idee:
Een eenvoudige Csharp.net photogallery met albums. Ik stel voor om bij de begin pagina te beginnen.

Op de begin pagina van het fotoboek staat een overzicht met alle albums en een preview image van het album. Door hier op te klikken verschijnen alle foto's in het album.

De album pagina weergeeft alle foto's. Door op 1 van deze foto's te klikken wordt de foto weergeven. Dat zou met lightbox, thickbox of shadowbox kunnen.

Het is de bedoeling dat een directory uitgelezen wordt met de volgende structuur:

/gallery
* Album_1
* Album_2
* enz.

Nog even in het kort:
- Beginpagina: Overzicht van alle foto-albums met een preview, waarop je klikt om het album te openen. Tevens voorzien van album-titel.
- Albumpagina: Overzicht van alle foto's die in het album staan. Als je op een foto klikt opent deze in een lightbox, thickbox of shadowbox.

In het verleden heeft Titjes mij al een stukje op weg geholpen door het schrijven van een class. Alleen wil de implementatie ervan mij niet echt lukken. Vandaar dat ik de code nog even bijvoeg:

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.HtmlControls;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Xml.Linq;
  12. using System.IO;
  13. using System.Collections;
  14.  
  15. namespace nGallery
  16. {
  17. public class Album : CollectionBase
  18. {
  19. private string strDirectDir = String.Empty, strDir = String.Empty, _Naam = String.Empty;
  20.  
  21. public Album(string physicalPath)
  22. {
  23. strDir = physicalPath;
  24. _Naam = strDir.Substring(strDir.LastIndexOf(@"\")).Remove(0, 1);
  25. Fill();
  26. }
  27.  
  28. public Album(string physicalPath, string albumDir)
  29. {
  30. strDirectDir = albumDir;
  31. strDir = physicalPath + "\\" + strDirectDir;
  32. _Naam = strDir.Substring(strDir.LastIndexOf(@"\")).Remove(0, 1);
  33. Fill();
  34. }
  35.  
  36. public Image this[int index]
  37. {
  38. get { return ((Image)List[index]); }
  39. set { List[index] = value; }
  40. }
  41.  
  42. public string AlbumNaam
  43. {
  44. get { return _Naam; }
  45. }
  46.  
  47. public void Add(Image img)
  48. {
  49. List.Add(img);
  50. }
  51.  
  52. public int CountPhotos
  53. {
  54. get { return List.Count; }
  55. }
  56.  
  57. private void Fill()
  58. {
  59. Image img;
  60. int i = 1;
  61. foreach (string file in Directory.GetFiles(strDir, "*.bmp"))
  62. {
  63. string strTempLink = file.Replace(@"\", "/");
  64. img = new Image();
  65. img.ImageUrl = strDirectDir + "/" + file.Substring(strTempLink.LastIndexOf("/") + 1);
  66. img.AlternateText = i.ToString();
  67. img.ToolTip = file.Substring(strTempLink.LastIndexOf("/") + 1);
  68. img.CssClass = "photoExtraData";
  69. List.Add(img);
  70. i++;
  71. }
  72. }
  73. }
  74.  
  75. public class Gallery : CollectionBase
  76. {
  77. private string strDirectDir = "";
  78.  
  79. public Gallery(string physicalPath, string dir)
  80. {
  81. strDirectDir = physicalPath + dir;
  82. GetAllAlbums();
  83. }
  84.  
  85. public Album this[int index]
  86. {
  87. get { return ((Album)List[index]); }
  88. set { List[index] = value; }
  89. }
  90.  
  91. public void Add(Album a)
  92. {
  93. List.Add(a);
  94. }
  95.  
  96. public int CountAlbums
  97. {
  98. get { return List.Count; }
  99. }
  100.  
  101. public void GetAllAlbums()
  102. {
  103. foreach (string subdir in Directory.GetDirectories(strDirectDir))
  104. Add(new Album(subdir));
  105. }
  106. }
  107. }



Is er iemand die mij op weg kan helpen met het scripten van een photogallery in Csharp.net?

Dank alvast voor jullie hulp!

Martijn!!

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s