مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل خالی بودن مقدار متغییر سراسری در هر بار اجرای رویدا د کلیک

جمعه, 10 مهر 1394 23:32

مشکل خالی بودن مقدار متغییر سراسری در هر بار اجرای رویدا د کلیک

سلام 

من یه مشکلی دارم تعدادی تصویر رو از بانک می خونم و نمایش میدم و روی هر کدوم که کلیک می کنم در یا دایو بزرگ وسط صفحه بهم نمایش میده حالا می خوام دکمه ی بعد و قبل بزارم که تصاویر قبلی و بهدی رو بتونه نمایش بده 

یک متغییر سراسری تعریف کردم که با کلیک روی دکمه ی 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();*/
    }
}

 

شنبه, 11 مهر 1394 16:39

با سلام 

برای استفاده از متغیر سراسری با حفظ مقدار باید به صورت زیر تعریف کنید تا در طول حیات برنامه و Session مقدار ثابتی داشته باشد.
 



public static int x;

 

در مورد موضوع دوم هم تعداد تصاویر را از دیتابیس بگیرید و داخل متغیر قرار دهید ، در هنگام Next چک کنید اگه مقدار از تعداد کل بیشتر شد ، متغییر سراسری را بر روی 1 یا اولین عنصر قرار دهید.

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید