واضح آرشیو وب فارسی:سایت ریسک: ساخت کنترل به صورت داینامیک shadel_shah 15 شهريور 1387, 01:45سلام من برای گرفتن یه سری اطلاعات از کاریر مجبورم که تعداد TEXTBOX مورد نیاز را در صفحه بسازم که نسبت به نوع درخواست متغیر است. برای ساختن اونها مشکلی ندارم ، اما وقتی میخوام که مقادیر اونها رو بازیابی کنم دچار مشکل میشم . برای ساخت اونها : for (int i = 0; i < doc.num; i++) { TextBox tb = new TextBox(); tb.Text = doc.desc; inputs.Controls.Add(tb); Label lb = new Label(); lb.Text = "<br />"; inputs.Controls.Add(lb); } و لی برای بازیابی اونها وقتی inputs.controls رو برسی میکنم هیچ اثری ازشون نیست !!! خیلی ممنون میشم اگه کمک کنید TNZ187 15 شهريور 1387, 06:43سلام به خاطر این هست که به هنگام ساخت کنترل ها به صورت داینامیک ، ViewState های اون ها به صفحه اضافه نمی شه و صفحه اون ها رو به رسمیت نمی شناسه . ( بعد برای راه حل ، بهتر بفرمائید چرا از این کنترل ها استفاده می کنید ، بعد راهش هم پیدا میشه . shadel_shah 16 شهريور 1387, 05:35خوب چرا که ، واسه اینکه تعداد سوالات نتغیر هست و کاربر تعداد اونا رو انتخاب میکنه ! با یه ispostback و انتقالشون به PAGE_load مشکلم تقریبا حل شد .ولی این قضیه viewstate سر در گمم کرده . MDP 16 شهريور 1387, 08:59سلام یه تابعی هست که وقیقا یادم نیست ولی سرچش کنی پیداش می کنی! کارش اینه که صفحه رو کاملا بازسازی میکنه!این طابع به طور پیش فرض وقتی یه object از صفحه ساخته میشه بعد مقدار دهی اولیه اجرا میشه! شما باید اونو بیارید بعد اضافه کردن کنترل ها فراخوانی کنی! پیدا کردم میزارمش! slim developer 16 شهريور 1387, 18:22من سوال رو اینجوری فهمیدم مثل اینکه می خوای از ابزارهای به صورت داینامیک استفاده کنی - اونوقت بهتره ار گرید ویو با دیتا لیست استفاده کنید . اگر من منظور شما رو خوب نفهمیدم عذر می خام و اگر درست گفتم بفرمایید تا ادامشو بگم . TNZ187 16 شهريور 1387, 20:14سلام فکر کنم منظور آقای مدیر همون متد Render یا بستگانش باشه تا اون جا که من می دونم جواب نمی ده . من یک راه دستی بلدم که مربوط می شه به Hidden Input ها . شما در صفحه یک Hidden Filed می ذارید ، بعد یک تابع جاوا اسکریپت می نویسید که قبل از پست بک مقادیر تکس باکس ها به اون منتقل بشه و در تابع Page_Load شما اگه فرم رو سرچ کنید و اون Hidden Field رو بیابید ، می توانید مقادیر تکس باکس ها رو داشته باشید . البته اگه از آژاکس استفاده کنید ، استثاءا در این جا کار خیلی راحتتر می شه . البته اگه راه آقای مدیر جواب نداد بگید ادامه بدم ( چون اگه اون جواب بده که خیلی راحت تره :) )
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1459]