PDA

View Full Version : ایجاد کنترل در زمان اجرا



AspNet
چهارشنبه 03 فروردین 1384, 00:37 صبح
من میخوام در زمان اجرا label هام به صورت دینامیک ساخته بشند.
راهشو بلدم ولی این label ها که میسازم پشت سر هم قرار می گیرند.
لطفا بگید چکار کنم که پایین هم قرار گیرند؟
توی فرمهای ویندوزی که خاصیت top داره ولی اینجا نداره.
آیا راهی هست؟
(با استفاده از سی شارپ)

با تشکر

Farhad.B.S
چهارشنبه 03 فروردین 1384, 01:19 صبح
بعد از اینزرت کردن هر کنترل ، یک Literal که شامل تگ BR باشه قرار بده.

AspNet
چهارشنبه 03 فروردین 1384, 01:26 صبح
ممنون

AspNet
چهارشنبه 03 فروردین 1384, 01:39 صبح
وقتی دوتا کنترل رو در یک حلقه ی for به فرم اضافه میکنم error میگیره.
مثلا اولن کنترلم label هستش و دومی هم radiobutton.
این هم error:

Control '_ctl1' of type 'RadioButton' must be placed inside a form tag with runat=server.

AspNet
چهارشنبه 03 فروردین 1384, 01:42 صبح
این error هم در زمان اجراست

AspNet
چهارشنبه 03 فروردین 1384, 01:49 صبح
ولی مثل اینکه این error ربطی به اینکه چند کنترل رو با هم add میکنم نداره.
اصلا نمیشه radiobutton و یا textBox را در زمان اجرا ایجاد کرد :گیج:
میشه بفرمایید آیا همچین امکانی وجود داره یا خیر؟

Farhad.B.S
چهارشنبه 03 فروردین 1384, 04:24 صبح
بله ، وجود داره.

یک نمونه برای اضافه کردن RadioButton :

RadioButton rb = new RadioButton();
rb.Text = "My Radio Button";
Panel1.Controls.Add(rb);
دلیل خطایی که در بالا نوشتی اینه که کنترل مورد نظر خارج از فرم اصلی (قبل از فرم) اینزرت میشه ، در صورتی که کنترل های سمت سرور همگی باید داخل این فرم باشند.
در کد بالا از پنل استفاده شده ، یعنی یک پنل در قسمتی که قراره کنترل اونجا قرار بگیره درنظر گرفته میشه و کنترل های آتی درون این پنل اینزرت میشوند.

AspNet
چهارشنبه 03 فروردین 1384, 13:44 عصر
مرسی
حالا آیا میشه به این کنترلها در زمان طراحی دسترسی داشت. منظورم اینه که چند تا radiobutton در زمان اجرا ایجاد میشه، حالا میخوایم کد بنویسیم که بررسی کنه کدوم یک چک check شده اند.

آیا این امکان هم وجود داره؟

titbasoft
چهارشنبه 03 فروردین 1384, 14:58 عصر
اول وقتی دارید کنترل رو اضافه می کنید برای اون یک ID مشخص کنید

RadioButton rb = new RadioButton() ;
rb.Text="Mytext";
rb.ID="rb1";
Panel1.Controls.Add(rb);

حالا می تونید با استفاده از متد FindControl پیداش کنید.

RadioButton i = (RadioButton)this.FindControl("rb1");
Response.Write (i.Checked );
:wink:

AspNet
چهارشنبه 03 فروردین 1384, 19:19 عصر
دستت طلا :oops: