PDA

View Full Version : retrieve of data in control array



pranses_smt
دوشنبه 28 آبان 1386, 09:19 صبح
سلام من این کد رو نوشتم برای تولید یکسری text box و می خوام داده هاشو بازیابی کنم ولی error میده:





public partial class Default2 : System.Web.UI.Page
{
int i;
Control[] arr = new Control[0];

Control[] arr1 = new Control[0];


public Control[] arrayOfControl()
{
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);

for (int i = 0; i <pasokh ; i++)
{
Array.Resize(ref arr, i + 1);
Array.Resize(ref arr1, i + 1);

arr[i] = new Control();

}

return arr;

}

protected void Page_Load(object sender, EventArgs e)
{

TxtSoal.Attributes.Add("onkeypress", "TartanKeyPress()");
TxtSoal.Attributes.Add("onkeydown", "TartanKeyDown()");
if (!IsPostBack)
{
spn1.Visible = false;
spn2.Visible = false;
spn3.Visible = true;
}
}

protected void CreatTextBoxes() {
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
Application["soal"] = TxtSoal.Text;

arr1 = arrayOfControl();
string[] sp=new string[0];
for (i = 0; i < pasokh; i++)
{
Array.Resize(ref sp, i + 1);
TextBox txt = new TextBox();
txt.ID = "TextBoxID" + (i + 1).ToString();
txt.Text = "This is textbox " + i + " data";

arr[i].Controls.Add(txt);
form1.Controls.Add(txt);
form1.Controls.Add(new LiteralControl("<br />"));
sp[i] = txt.Text;
ListBox1.Items.Add(sp[i].ToString());

}
}

private void ReadTextBoxes()
{

int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
for (int i = 0; i < pasokh; i++)
{


string boxName = "TextBoxID" + (i + 1).ToString();

TextBox txt = form1.FindControl(boxName) as TextBox;
*****************error
TextBox1.Text += txt.Text + ("<br>");
**********************error

}

}

protected void BtnGo_Click(object sender, EventArgs e)
{


if (IsPostBack)
{
CreatTextBoxes();

spn2.Visible = true;

}

}
protected void BtnSabt_Click(object sender, EventArgs e)
{
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
string [] str = new string[0];
for (int j = 0; j <= pasokh; j++)
{

Array.Resize(ref str, j + 1);
Array.Resize(ref arr, j + 1);
ReadTextBoxes();

}

}



}

hassan razavi
دوشنبه 28 آبان 1386, 09:47 صبح
تشخیص کدتون خیلی سخته ، اگه ممکنه یکبار دیگه کدتون رو بفرستید.

pranses_smt
دوشنبه 28 آبان 1386, 10:03 صبح
public partial class Default2 : System.Web.UI.Page
{
int i;
Control[] arr = new Control[0];

Control[] arr1 = new Control[0];


public Control[] arrayOfControl()
{
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);

for (int i = 0; i <pasokh ; i++)
{
Array.Resize(ref arr, i + 1);
Array.Resize(ref arr1, i + 1);

arr[i] = new Control();

}

return arr;

}

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
spn1.Visible = false;
spn2.Visible = false;
spn3.Visible = true;
}
}

protected void CreatTextBoxes() {
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
Application["soal"] = TxtSoal.Text;

arr1 = arrayOfControl();
string[] sp=new string[0];
for (i = 0; i < pasokh; i++)
{
Array.Resize(ref sp, i + 1);
TextBox txt = new TextBox();
txt.ID = "TextBoxID" + (i + 1).ToString();
txt.Text = "This is textbox " + i + " data";

arr[i].Controls.Add(txt);
form1.Controls.Add(txt);
form1.Controls.Add(new LiteralControl("<br />"));
sp[i] = txt.Text;
ListBox1.Items.Add(sp[i].ToString());

}
}

private void ReadTextBoxes()
{

int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
for (int i = 0; i < pasokh; i++)
{


string boxName = "TextBoxID" + (i + 1).ToString();

TextBox txt = form1.FindControl(boxName) as TextBox;

TextBox1.Text += txt.Text + ("<br>");

}

}



protected void BtnGo_Click(object sender, EventArgs e)
{

if (IsPostBack)
{
CreatTextBoxes();

spn2.Visible = true;

}

}
protected void BtnSabt_Click(object sender, EventArgs e)
{
int pasokh;
string pas;


pas = TxtTedadPasokh.Text;

pasokh = Convert.ToInt32(pas);
string [] str = new string[0];
for (int j = 0; j <= pasokh; j++)
{

Array.Resize(ref str, j + 1);
Array.Resize(ref arr, j + 1);

ReadTextBoxes();

}

}




}

pranses_smt
دوشنبه 28 آبان 1386, 10:03 صبح
نمی دونم چرا خراب میشه!

hassan razavi
دوشنبه 28 آبان 1386, 10:06 صبح
کدتون رو فقط بین تگ [code , [/code] قرار بدید.
یا در یک فایل txt بصورت ضمیمه ارسال کنید

pranses_smt
دوشنبه 28 آبان 1386, 10:09 صبح
من همین الن براتون میل کردمش

hassan razavi
دوشنبه 28 آبان 1386, 10:17 صبح
پروژه شما Web App هست و من نمیتونم اینجا اونو تست کنم.
لطفا بگوید مشکل در متد CreatTextBoxes هست یا متد ReadTextBoxes ؟

hassan razavi
دوشنبه 28 آبان 1386, 10:18 صبح
کد رو برای همه دوستان میزارم جهت بررسی :


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
//using System.Diagnostics;
public partial class Default2 : System.Web.UI.Page
{
int i;
Control[] arr = new Control[0];
Control[] arr1 = new Control[0];

public Control[] arrayOfControl()
{
int pasokh;
string pas;

pas = TxtTedadPasokh.Text;
pasokh = Convert.ToInt32(pas);
for (int i = 0; i <pasokh ; i++)
{
Array.Resize(ref arr, i + 1);
Array.Resize(ref arr1, i + 1);
arr[i] = new Control();
}
return arr;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
spn1.Visible = false;
spn2.Visible = false;
spn3.Visible = true;
}
}
protected void CreatTextBoxes() {
int pasokh;
string pas;

pas = TxtTedadPasokh.Text;
pasokh = Convert.ToInt32(pas);
Application["soal"] = TxtSoal.Text;
arr1 = arrayOfControl();
string[] sp=new string[0];
for (i = 0; i < pasokh; i++)
{
Array.Resize(ref sp, i + 1);
TextBox txt = new TextBox();
txt.ID = "TextBoxID" + (i + 1).ToString();
txt.Text = "This is textbox " + i + " data";
arr[i].Controls.Add(txt);
form1.Controls.Add(txt);
form1.Controls.Add(new LiteralControl("<br />"));
sp[i] = txt.Text;
ListBox1.Items.Add(sp[i].ToString());
}
}
private void ReadTextBoxes()
{
int pasokh;
string pas;

pas = TxtTedadPasokh.Text;
pasokh = Convert.ToInt32(pas);
for (int i = 0; i < pasokh; i++)
{
string boxName = "TextBoxID" + (i + 1).ToString();
TextBox txt = form1.FindControl(boxName) as TextBox;
TextBox1.Text += txt.Text + ("<br>");
}
}
protected void BtnGo_Click(object sender, EventArgs e)
{
if (IsPostBack)
{
CreatTextBoxes();
spn2.Visible = true;
}
}
protected void BtnSabt_Click(object sender, EventArgs e)
{
int pasokh;
string pas;

pas = TxtTedadPasokh.Text;
pasokh = Convert.ToInt32(pas);
string [] str = new string[0];
for (int j = 0; j <= pasokh; j++)
{
Array.Resize(ref str, j + 1);
Array.Resize(ref arr, j + 1);
//Array.Resize(ref arr, i + 1);
ReadTextBoxes();
}
}

}

pranses_smt
دوشنبه 28 آبان 1386, 10:29 صبح
در متد readtextbox
و در این خط
TextBox1.Text += txt.Text + ("<br>");