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

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

کاربر سایت

ali.majed

عضویت از 1394/09/15

برنامه نویسی شی گرا

  • یکشنبه 2 خرداد 1395
  • 14:54
تشکر میکنم

با عرض سلام

من در asp.net برنامه می نویسم ، چگونه می توانم از نوشتن های مکرر کدی که در چندین صفحه به آن نیاز دارم ، جلوگیری کنم و فقط آن را یک بار بنویسم و در تمام صفحات آن را فراخوانی کنم ؟ مثلا کد زیر :

protected void btnAddBasket_Click(object sender, EventArgs e)
        {
            string id = ((Button)sender).CommandArgument;
            MasterDCDataContext db = new MasterDCDataContext();
            var q = db.Products.Where(c => c.PrID == int.Parse(id)).Single();
            PrTitle = q.PrName;
            PrCompany = q.PrCompany;
            prType = q.PrType;
            PrImage = q.PrImage;
            PrPrice = q.PrPrice;
            PrTotalPrice = q.PrPrice * 2;
            if (Session["basket"] == null)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("PrID");
                dt.Columns.Add("PrImage");
                dt.Columns.Add("PrTitle");
                dt.Columns.Add("PrPrice");
                dt.Columns.Add("PrTotalPrice");
                dt.Columns.Add("PrCompany");
                dt.Columns.Add("PrType");

                DataRow dr = dt.Rows.Add();
                dr["PrID"] = Request.QueryString["PrID"];
                dr["PrImage"] = PrImage;
                dr["PrTitle"] = PrTitle;
                dr["PrPrice"] = PrPrice;
                dr["PrTotalPrice"] = PrTotalPrice;
                dr["PrCompany"] = PrCompany;
                dr["PrType"] = prType;

                Session["basket"] = dt;
            }
            else
            {
                DataTable dt = (DataTable)Session["basket"];
                DataRow dr = dt.Rows.Add();
                dr["PrID"] = Request.QueryString["PrID"];
                dr["PrImage"] = PrImage;
                dr["PrTitle"] = PrTitle;
                dr["PrPrice"] = PrPrice;
                dr["PrTotalPrice"] = PrTotalPrice;
                dr["PrCompany"] = PrCompany;
                dr["PrType"] = prType;
                //dt.Rows.Add(dr);
                Session["basket"] = dt;
            }
        }

یک کلاس ایجاد کردم تا این کد را درون آن بنویسم ، اما Session یا امثال آن را نمی شناسد و خطا می گیرد . آیا راه انجام این کار ایجاد کلاس است ؟ چگونه این کار را انجام دهم ؟ چگونه آن را در صفحات مورد نیاز فراخوانی کنم ؟

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 3 خرداد 1395
  • 08:55

میتونید یک کلاس ایجاد کنید و در اون کلاس متد

کدها را داخل متد ها قرار دهید و برای پارامتر ها میتونید برای متد ورودی تعیین کنید

در کلاس با استفاده از HttpContext.Current میتونید به سشن و بقیه موارد دسترسی پیدا کنید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)