i using image slider 7 images. have folder in asp.net web forms application called slider 50 images in it. every time refresh or visit page want slider populated 7 different images every time 50 images in folder.
aspx
<div class="slider"> <div id="slider1"> <% response.write("<img src='" + chooseimage() + "' />");%> <%-- <img border="0" src="slider/b50.jpg" width="850" height="637" /> <img border="0" src="slider/b51.jpg" width="850" height="637" /> <img border="0" src="slider/c47.jpg" width="850" height="637" /> <img border="0" src="slider/c43.jpg" width="850" height="637" /> <img border="0" src="slider/e2.jpg" width="850" height="637" /> <img border="0" src="slider/w5.jpg" width="850" height="637" /> <img border="0" src="slider/m21.jpg" width="850" height="637" />--%> </div> <ul id="thumb"></ul> <div id='next' class="slider_next"> <img border="0" src="images/next.png" width="57" height="57" alt="next image" /></div> <div id='prev' class="slider_prev"> <img border="0" src="images/prev.png" width="57" height="57" alt="previous image" /></div> </div> </div> before had direct path 7 images in folder want randomized.
<% response.write("<img src='" + chooseimage() + "' />");%> aspx.cs
protected void page_load(object sender, eventargs e) { chooseimage(); } public string chooseimage() { if (session["img"] == null) { string imgpath; int filecount = directory.getfiles(server.mappath("slider/"), "*.*", searchoption.topdirectoryonly).length; filecount = filecount + 1; imgpath = "slider/" + randomnumber(1, filecount) + ".jpg"; session["img"] = imgpath; return imgpath; } else return session["img"].tostring(); } private int randomnumber(int min, int max) { random random = new random(); return random.next(min, max); } when run application no image being displayed in slider.
slider folder

when getting imgpath, need resolve url make valid client. can done through control.resolveurl method:
imgpath = resolveurl("slider/" + randomnumber(1, filecount) + ".jpg"); if image source invalid, no image displayed.
however, once resolve url, images same since caching results session["img"]. in order randomized images every time, remove if statement , else body.
you should change your
random random = new random(); local variable declaration instance variable or static variable, discussed in stackoverflow question.
edit: should rewrite chooseimage() method file within directory "slider". currently, return paths such "slider/1.jpg" , "slider/2.jpg".
public string chooseimage() { string[] files = directory.getfiles(server.mappath("slider/"), "*.*", searchoption.topdirectoryonly); int filecount = files.length; string filename = path.getfilename(files[randomnumber(0, filecount)]); return "slider/" + filename; // or return resolveurl("slider/" + filename); }
Comments
Post a Comment