PDA

View Full Version : دسترسی به کنترل های داینامیک



خانم گل
چهارشنبه 15 دی 1389, 13:24 عصر
سلام دوستان. چطور میشه بعد از ایجاد کنترلهای داینامیک به اونها و مقادیرشون دسترسی داشت؟ من توی فرمم چند تا chekbox بصورت داینامیک اضافه کردم. حالا میخوام بعد از postback با check بودن یا نبودن checkboxهام کاری انجام بشه. اما بعد از postback کنترلهای داینامیک توی صفحه شناسایی نمیشن. چیکار باید کرد؟

javad.nic63
چهارشنبه 15 دی 1389, 13:41 عصر
با request.form می تونی پیداشون کنی.

label1.text=Request.Form["TextBox1"].Tostring();

خانم گل
چهارشنبه 15 دی 1389, 13:59 عصر
با request.form می تونی پیداشون کنی.

label1.text=Request.Form["TextBox1"].Tostring();
تست کردم جواب نمیده

amirjalili
چهارشنبه 15 دی 1389, 15:56 عصر
کنترلت رو اینطور بساز و استفاده کن
مثال :


protected void Page_Load(object sender, EventArgs e)
{
CheckBox ddl = (CheckBox)form1.FindControl("chk1");
if (ddl.Checked && IsPostBack)
{
Response.Write("111");
}
}

protected override void OnInit(EventArgs e)
{
MyCheckBox chk = new MyCheckBox();
chk.ID="chk1";
form1.Controls.Add(chk);
base.OnInit(e);
}
}


class MyCheckBox:CheckBox
{

public override bool Checked
{
get
{
return base.Checked;
}
set
{
base.Checked = value;
}
}


}

Peyman.Gh
چهارشنبه 15 دی 1389, 16:03 عصر
بطور مثال در رویداد Page_Load یک CheckBox به فرم ما اضافه می شود.

protected void Page_Load(object sender, EventArgs e)
{
CheckBox c = new CheckBox();
c.Text = "Test";
form1.Controls.Add(c);
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach (Control c in form1.Controls)
{
if (c.GetType() == typeof(CheckBox))
{
if (((CheckBox)c).Checked)
{
Response.Write("True");
}
else
{
Response.Write("False");
}
}
}
}و هنگام کلیک بر روی Button انتخاب شدن یا نشدن CheckBox بررسی می شود.