سلام
من یه مشکلی دارم تعدادی تصویر رو از بانک می خونم و نمایش میدم و روی هر کدوم که کلیک می کنم در یا دایو بزرگ وسط صفحه بهم نمایش میده حالا می خوام دکمه ی بعد و قبل بزارم که تصاویر قبلی و بهدی رو بتونه نمایش بده
یک متغییر سراسری تعریف کردم که با کلیک روی دکمه ی next ای دی تصویر یکی اضافه میشه و نمایش داده میشه یک بار پر میشه و سری بعدی دیگه مجدد خالی است و از اول قدار میگیره و مقدارش به روز نمیشه !
مشکل دیگه ام اینه که چطوری کنترل کنم به اخرین عکس رسیدی برگرد اول و به اول رسید برگرد اخر
ممنون میشم اگه کد دکمه های next و priv رو بهم بدید .
این هم کدهای خودم .
public partial class user_showpic2 : System.Web.UI.Page { mydb db = new mydb(); string sql; DataTable dt = new DataTable(); int i; public int nextfile , privfile; string file1; string namefile; int hid; //bool flag = false; private void maininfo() { } protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] != null && Request.QueryString["count"] != null && Request.QueryString["file"] != null) { string h = Request.QueryString["id"].ToString(); int l = h.Length - 10; string c = h.Substring(5, l); hid = Convert.ToInt16(c); file1 = Request.QueryString["file"].ToString(); file1 = file1.Trim(); namefile = Request.QueryString["nick"].ToString(); header1.InnerHtml = "<center><h1 style='color=#99ccff;padding-top:8px;'>" + namefile + "</h1></center>"; Image1.ImageUrl = "../conferans/pic/" + file1; // nextfile = hid + 1; // privfile = hid - 1; } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (nextfile == 0) { nextfile = hid + 1; } db.connect(); sql = "select * from confrance where htypefile='picture' and status='true' and hid=" + nextfile; dt = db.select(sql); i = dt.Rows.Count; if (i > 0) { file1 = dt.Rows[0]["hfilename"].ToString(); file1 = file1.Trim(); namefile = dt.Rows[0]["hnickname"].ToString(); header1.InnerHtml = "<center><h1 style='color=#99ccff;padding-top:8px;'>" + namefile + "</h1></center>"; Image1.ImageUrl = "../conferans/pic/" + file1; nextfile = Convert.ToInt16(dt.Rows[0]["hid"]) + 1; } db.disconnect(); } protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { /* if(privfile==0) { privfile = hid - 1; }*/ /* db.connect(); sql = "select * from confrance where htypefile='picture' and status='true' and hid=" + privfile; dt = db.select(sql); i = dt.Rows.Count; if (i > 0) { file1 = dt.Rows[0]["hfilename"].ToString(); file1 = file1.Trim(); namefile = dt.Rows[0]["hnickname"].ToString(); header1.InnerHtml = "<center><h1 style='color=#99ccff;padding-top:8px;'>" + namefile + "</h1></center>"; Image1.ImageUrl = "../conferans/pic/" + file1; privfile = Convert.ToInt16(dt.Rows[0]["hid"]) - 1; } db.disconnect();*/ } }
با سلام
برای استفاده از متغیر سراسری با حفظ مقدار باید به صورت زیر تعریف کنید تا در طول حیات برنامه و Session مقدار ثابتی داشته باشد.
public static int x;
در مورد موضوع دوم هم تعداد تصاویر را از دیتابیس بگیرید و داخل متغیر قرار دهید ، در هنگام Next چک کنید اگه مقدار از تعداد کل بیشتر شد ، متغییر سراسری را بر روی 1 یا اولین عنصر قرار دهید.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)