ورود

View Full Version : سوال: گرفتن مقادیر Textbox که بصورت Runtime ساخته شده است؟



mahdigolzari
یک شنبه 31 مرداد 1389, 12:43 عصر
با سلام؛

من در صفحه‏ی وب textbox بصورت runtime ایجاد میکنم




for (int i = 0; i < Convert.ToInt32(RadNumericTextBox1.Text); i++)
{
TextBox txt = new TextBox();
txt.ID = "txt" + (i + 1).ToString();
txt.CssClass = "ViewLable";
txt.Attributes.Add("runat", "Server");
Panel1.Controls.Add(txt);
Panel1.Controls.Add(new LiteralControl("<br/>"));
}

حال وقتی میخوام مغادیر رو از این Textbox ها بخونم بعد از postback دسترسی به این مغادیر ندارم:




foreach (Control objControl in Panel1.Controls)
{
if (objControl is TextBox)
{
TextBox objTextBox = objControl as TextBox;
TextBox objTextBoxValue = (TextBox)Panel1.FindControl(objTextBox.ID);
Label1.Text += objTextBoxValue.Text + "\n";
}
}

لطفاً راهنمایی کنید

mahdigolzari
دوشنبه 01 شهریور 1389, 12:23 عصر
با سلام؛

من در صفحه‏ی وب textbox بصورت runtime ایجاد میکنم




for (int i = 0; i < Convert.ToInt32(RadNumericTextBox1.Text); i++)
{
TextBox txt = new TextBox();
txt.ID = "txt" + (i + 1).ToString();
txt.CssClass = "ViewLable";
txt.Attributes.Add("runat", "Server");
Panel1.Controls.Add(txt);
Panel1.Controls.Add(new LiteralControl("<br/>"));
}

حال وقتی میخوام مغادیر رو از این Textbox ها بخونم بعد از postback دسترسی به این مغادیر ندارم:




foreach (Control objControl in Panel1.Controls)
{
if (objControl is TextBox)
{
TextBox objTextBox = objControl as TextBox;
TextBox objTextBoxValue = (TextBox)Panel1.FindControl(objTextBox.ID);
Label1.Text += objTextBoxValue.Text + "\n";
}
}

لطفاً راهنمایی کنید


لطفاً کمک کنید

مهدی کرامتی
دوشنبه 01 شهریور 1389, 13:12 عصر
شما باید در هر PostBack دوباره Object های فوق را به صفحه اضافه کنید تا بتوانید به مقادیر آنها دسترسی داشته باشید.
بهترین جا برای این کار رویداد Page_Load صفحه تان است.

mahdigolzari
دوشنبه 01 شهریور 1389, 13:49 عصر
شما باید در هر PostBack دوباره Object های فوق را به صفحه اضافه کنید تا بتوانید به مقادیر آنها دسترسی داشته باشید.
بهترین جا برای این کار رویداد Page_Load صفحه تان است.

اینطوری درست میشه، ولی من اگه بگم 3 تا textbox میخوام 6 تا میسازه:
3 تا تو رویداد کلیک Button
3 تا هم تو لود صفحه

ممنون درستش کردم