No need to use Repeater for that, you shall create an image control with two buttons will do the trick.
<asp:Image ID="img" runat="server" />
<br />
<asp:Button Text="Previous" ID="btnPrev" runat="server" OnClick="btnPrev_Click" />
<asp:Button Text="Next" ID="btnNext" runat="server" OnClick="btnNext_Click" />
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
ViewState["Index"] = 0;
string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName( files[0]));
img.ImageUrl = path;
}
}
protected void btnNext_Click(object sender, EventArgs e)
{
var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
int index = Convert.ToInt32(ViewState["Index"]);
int count = files.Count;
index++;
if (index < count)
{
string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName(files[index]));
img.ImageUrl = path;
}
else
index = count - 1;
ViewState["Index"] = index;
}
protected void btnPrev_Click(object sender, EventArgs e)
{
var files = Directory.GetFiles(Server.MapPath("~/Images")).ToList();
int index = Convert.ToInt32(ViewState["Index"]);
int count = files.Count;
index--;
if (index > 0)
{
string path = String.Format("~/Images/{0}", System.IO.Path.GetFileName(files[index]));
img.ImageUrl = path;
}
else
index = 0;
ViewState["Index"] = index;
}