PDA

View Full Version : دلیل این خطا چیه ؟



setareh2013
پنج شنبه 06 تیر 1392, 22:38 عصر
سلام
من یک تکه کد نوشتم به صورت :
protected void Page_init(object sender, EventArgs e)
{
Statistic_City a = new Statistic_City();
if (Session["city"] != null)
{
a.decrement_city(Convert.ToInt32(Session["city"]));
Session.Remove("city");
}
int[] city = a.show_citys();
for (int i = 1; i <= a.Numbers_city; i++)
{
Label lb = Master.FindControl("ContentPlaceHolder2").FindControl("Label" + i.ToString()) as Label;
lb.Text = city[i - 1].ToString();
}
}
همش به این خط
Label lb = Master.FindControl("ContentPlaceHolder2").FindControl("Label" + i.ToString()) as Label
خطا میده . باید چه کار کنم ؟
متن خطا
Object reference not set to an instance of an object.
ممنون

General-Xenon
جمعه 07 تیر 1392, 03:48 صبح
سلام
من یک تکه کد نوشتم به صورت :
protected void Page_init(object sender, EventArgs e)
{
Statistic_City a = new Statistic_City();
if (Session["city"] != null)
{
a.decrement_city(Convert.ToInt32(Session["city"]));
Session.Remove("city");
}
int[] city = a.show_citys();
for (int i = 1; i <= a.Numbers_city; i++)
{
Label lb = Master.FindControl("ContentPlaceHolder2").FindControl("Label" + i.ToString()) as Label;
lb.Text = city[i - 1].ToString();
}
}
همش به این خط
Label lb = Master.FindControl("ContentPlaceHolder2").FindControl("Label" + i.ToString()) as Label
خطا میده . باید چه کار کنم ؟
متن خطا
Object reference not set to an instance of an object.
ممنون


سلام . بخاطر اینکه Master.FindControl("ContentPlaceHolder2").FindControl("Label" + i.ToString()) یه همچین کنترلی رو پیدا نمیکنه که بخواد به Lable تبدیل کنه .

setareh2013
جمعه 07 تیر 1392, 22:49 عصر
ContentPlaceHolder2 رو دارم داخل صفحه . نزدیک 20 تا Label هم دارم با عنوان Label1 ...Label20 . این برنامه داخل یک سایت دیگه جواب می داد . کل صفحه رو کپی کردم یه صفحه دیگه . توی صفحه دوم خطا می ده .

General-Xenon
جمعه 07 تیر 1392, 23:05 عصر
ContentPlaceHolder2 رو دارم داخل صفحه . نزدیک 20 تا Label هم دارم با عنوان Label1 ...Label20 . این برنامه داخل یک سایت دیگه جواب می داد . کل صفحه رو کپی کردم یه صفحه دیگه . توی صفحه دوم خطا می ده .

یک آرایه درست کن و تمامی Label ها رو درش قرار بده . باهاش کا کن . راحت تره که
List<Label> _lstLabels = new List<Label>() { lbl1, lbl2 , ... };

setareh2013
جمعه 07 تیر 1392, 23:09 عصر
نه تو رو خدا سختش نکنید .
این عکس اون صفحه ست که گفتم 106301
می خوام وقتی این صفحه لود شد این اتفاق ها بیفته

setareh2013
پنج شنبه 13 تیر 1392, 13:54 عصر
کسی نمی تونه راهنماییم کنه ؟

mahdi_rafatjah
شنبه 15 تیر 1392, 08:10 صبح
اوه چرا خودتو زجر میدی
بیا اطلاعاتت رو تو دیتا بیس به صورت (شهر - تعداد) در بیار
حالا تو دیتا لیست برو یه لیبل بزار یه تکس و با ویرایش تمپلیتش این جوری میشه که میخوای
کمک بیشتر 09370495059 مسنجر mahdi_rafatjah@yahoo.com

setareh2013
یک شنبه 16 تیر 1392, 10:28 صبح
اگه داخل دیتابیس بذارم یه بدی داره اینکه هر کس که روی یک شهر کلیک می کنه باید جدول آپدیت بشه . فکر نکنم راه خوبی باشه

mahdi_rafatjah
یک شنبه 16 تیر 1392, 22:15 عصر
اولا ممکنه اصلا نیاز نداشته باشی
ثانیا خوب بشه الان مثلا این جا خدا میدونه چند تا دیتا بیس و چند تا سرچ و ... انجام میشه تا همین صفحه بیااد بالا اما دادش ما تو عصر ارتباطات هستیم برای 0.01 ثانیه خودتو خسته نکن