Anstatt meinen Repeater mit Bildern aus einem Ordner in meinem Projekt zu bevölkern, möchte ich ihn mit einem Link dorthin polulieren, wo das Bild so ist ...... ........Bild von Hyperlink holen und nicht von Ordner, um mein Repeater Control zu bestücken
Welche Code-Änderungen muss ich meinen Code Blick auf meine Hyperlink für das Bild, und nicht die „Bilder“ -Ordner machen zu lassen?
Meine Seite laden
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sBasePath = System.Web.HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"];
if (sBasePath.EndsWith("\\"))
sBasePath = sBasePath.Substring(0,sBasePath.Length-1);
sBasePath = sBasePath + "\\" + "pics";
System.Collections.Generic.List<string> oList = new System.Collections.Generic.List<string>();
foreach (string s in System.IO.Directory.GetFiles(sBasePath, "MyPicture.jpg"))
{
//We could do some filtering for example only adding .jpg or something
oList.Add(System.IO.Path.GetFileName(s));
}
repImages.DataSource = oList;
repImages.DataBind();
}
}
Mein ItemDataBound Ereignis für meine Repeater (genannt repImages)
protected void repImages_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem ||
e.Item.ItemType == ListItemType.Item)
{
string sFile = e.Item.DataItem as string;
//Create the thumblink
HyperLink hlWhat = e.Item.FindControl("hlWhat") as HyperLink;
hlWhat.NavigateUrl = ResolveUrl("~/pics/" + sFile );
hlWhat.ToolTip = System.IO.Path.GetFileNameWithoutExtension(sFile);
hlWhat.Attributes["rel"] = "imagebox-bw";
Image oImg = e.Item.FindControl("imgTheImage") as Image;
oImg.ImageUrl = ResolveUrl("~/createthumb.ashx?gu=/pics/" + sFile + "&xmax=100&ymax=100");
}
}
Etienne
Bitte geben Sie Ihre ASPX-Quelle (der Teil, der den Repeater enthält) an, damit ich versuchen kann, dieses Beispiel auszuführen. – Cerebrus
Danke! Sie können das ganze Projekt hier herunterladen ---- http://www.aspcode.net/A-simple-image-gallery.aspx ----- .ZIP-Datei befindet sich ganz unten ---- a wirklich cooles Projekt. – Etienne