PDA

View Full Version : سوال: خواندن از text box



حسن رضازاده
دوشنبه 12 تیر 1391, 10:28 صبح
سلام
یه سوال داشتم ،من توسط کد زیر مقداری text box تولید میکنم که تعدادشو متغیر هست ،چطور میتونم به مقدار text این text box ها دسترسی پیدا کنم ؟

string name = "t";
for (int i = 0; i < 10; i++)
{
name = "t";
name = name + i.ToString();
t1 += string.Format(" <input id='{0}' type='text' runat='server' /> <br />", name);
}
Literal1.Text =t1;

khataei
دوشنبه 12 تیر 1391, 15:53 عصر
سلام
شما باید درون textbox ها foreach انجام دهید و مقدار را بدست آورید .

alonemm
دوشنبه 12 تیر 1391, 16:02 عصر
باسلام:

شما میتونید اول تعداد تکس باکس های تولید شده رو داخل یک متغییر نگه داری کنید سپس متونید با ID که برای هرکدومشون ساختید به مقدار Text اون دست پیدا کنید در JQuery.

http://api.jquery.com/val/


موفق باشید.

ja.softeng
دوشنبه 12 تیر 1391, 16:10 عصر
سلام
یه سوال داشتم ،من توسط کد زیر مقداری text box تولید میکنم که تعدادشو متغیر هست ،چطور میتونم به مقدار text این text box ها دسترسی پیدا کنم ؟

string name = "t";
for (int i = 0; i < 10; i++)
{
name = "t";
name = name + i.ToString();
t1 += string.Format(" <input id='{0}' type='text' runat='server' /> <br />", name);
}
Literal1.Text =t1;


با سلام دوست عزیز کدت اشتباه است با کنترل Literal شما فقط میتونی عناصر و تگ های html را تولید کنی نه کنترل های سمت سرور که بخوای بعدا مقادیرشون رو بخونی
در زیر من کد صحیح را برات میزارم با استفاده از کنترل panel میشه عناصر سمت سرور را به صورت پویا تولید کرد:


protected TextBox[] text_key;
protected void Page_Load(object sender, EventArgs e)
{
int d = Convert.ToInt32(DropDownList1.SelectedValue);
text_key = new TextBox[d];
for (int i = 0; i < d; i++)
{
text_key[i] = new TextBox();
text_key[i].ID = "Text_key" + i.ToString();
text_key[i].Text = "";
text_key[i].Width = 450;
Panel1.Controls.Add(new LiteralControl("كليد واژه " + Convert.ToString(i + 1) + "<br/>"));
Panel1.Controls.Add(text_key[i]);
Panel1.Controls.Add(new LiteralControl("<br/>"));
}

}

string[] getString()
{

int digit = Convert.ToInt32(DropDownList1.SelectedValue);
string[] Text = new string[d];
for (int i = 0; i < digit; i++)
{
Text[i] = text_key[i].Text.Trim();
}

return Text;
}

حسن رضازاده
دوشنبه 12 تیر 1391, 20:17 عصر
با سلام دوست عزیز کدت اشتباه است با کنترل Literal شما فقط میتونی عناصر و تگ های html را تولید کنی نه کنترل های سمت سرور که بخوای بعدا مقادیرشون رو بخونی
در زیر من کد صحیح را برات میزارم با استفاده از کنترل panel میشه عناصر سمت سرور را به صورت پویا تولید کرد:


protected TextBox[] text_key;
protected void Page_Load(object sender, EventArgs e)
{
int d = Convert.ToInt32(DropDownList1.SelectedValue);
text_key = new TextBox[d];
for (int i = 0; i < d; i++)
{
text_key[i] = new TextBox();
text_key[i].ID = "Text_key" + i.ToString();
text_key[i].Text = "";
text_key[i].Width = 450;
Panel1.Controls.Add(new LiteralControl("كليد واژه " + Convert.ToString(i + 1) + "<br/>"));
Panel1.Controls.Add(text_key[i]);
Panel1.Controls.Add(new LiteralControl("<br/>"));
}

}

string[] getString()
{

int digit = Convert.ToInt32(DropDownList1.SelectedValue);
string[] Text = new string[d];
for (int i = 0; i < digit; i++)
{
Text[i] = text_key[i].Text.Trim();
}

return Text;
}

سلام
تشکر میکنم ،من میدونستم چنین دستوری هست ،اما به طور کامل بلد نبودمش ،خیلی ممنون
یه سوال داشتم ،قسمتی که قرمز کردم برای چیه ؟ فقط این قسمت کد رو متوجه نشدم !!!

ja.softeng
سه شنبه 13 تیر 1391, 15:15 عصر
سلام
تشکر میکنم ،من میدونستم چنین دستوری هست ،اما به طور کامل بلد نبودمش ،خیلی ممنون
یه سوال داشتم ،قسمتی که قرمز کردم برای چیه ؟ فقط این قسمت کد رو متوجه نشدم !!!
منظورت رو نفهمیدم کدوم قسمت قرمز شده منظورت نتیجه کاره و یا کد رو میگی؟

حسن رضازاده
سه شنبه 13 تیر 1391, 21:11 عصر
منظورت رو نفهمیدم کدوم قسمت قرمز شده منظورت نتیجه کاره و یا کد رو میگی؟
میبخشید من قرمز کردم اما قرمز نشد مثل اینکه !!!
این بخش از کد

string[] getString() {

int digit = Convert.ToInt32(DropDownList1.SelectedValue);
string[] Text = new string[d];
for (int i = 0; i < digit; i++)
{
Text[i] = text_key[i].Text.Trim();
}

return Text;
}

ja.softeng
سه شنبه 13 تیر 1391, 21:36 عصر
میبخشید من قرمز کردم اما قرمز نشد مثل اینکه !!!
این بخش از کد

string[] getString() {

int digit = Convert.ToInt32(DropDownList1.SelectedValue);
string[] Text = new string[d];
for (int i = 0; i < digit; i++)
{
Text[i] = text_key[i].Text.Trim();
}

return Text;
}


آها اینو میگی
برای خوندن اطلاعات اون تک باکس ها است اونا رو میخونه و به صورت آرایه ای از رشته برمیگردونه البته بدون آرایه هم میشه چون text_key خودش یه آرایه Textbox است و با این کد text_key[i].Text میشه مقادیرش رو بدست آورد i اندیسه.

حسن رضازاده
سه شنبه 13 تیر 1391, 22:16 عصر
آها اینو میگی
برای خوندن اطلاعات اون تک باکس ها است اونا رو میخونه و به صورت آرایه ای از رشته برمیگردونه البته بدون آرایه هم میشه چون text_key خودش یه آرایه Textbox است و با این کد text_key[i].Text میشه مقادیرش رو بدست آورد i اندیسه.
مرسی
متوجه شدم ،
یه سوال داشتم ،اگه بخام شبیه به همین کار checkbox تولید کنم چطور باید عمل کنم ؟
از کجا بفهمم چه چیزاشو باید مقدار دهی کنم ؟

ja.softeng
چهارشنبه 14 تیر 1391, 01:46 صبح
مرسی
متوجه شدم ،
یه سوال داشتم ،اگه بخام شبیه به همین کار checkbox تولید کنم چطور باید عمل کنم ؟
از کجا بفهمم چه چیزاشو باید مقدار دهی کنم ؟

ChekBox مثل TextBox است یه کمی فرق داره این کد:


protected CheckBox[] Check;
protected void Page_Load(object sender, EventArgs e)
{
int d = Convert.ToInt32(DropDownList1.SelectedValue);
Check = new CheckBox[d];
for (int i = 0; i < d; i++)
{
Check[i] = new CheckBox();
Check[i].ID = "Check" + i.ToString();
Check[i].Text = "نام مورد نظر" + Convert.ToString(i + 1);
Check[i].Width = 450;
Panel1.Controls.Add(new LiteralControl("عبارت مورد نظر" + Convert.ToString(i + 1) + "<br/>"));
Panel1.Controls.Add(Check[i]);
Panel1.Controls.Add(new LiteralControl("<br/>"));
}
}

Boolean[] getChek()
{
int digit = Convert.ToInt32(DropDownList1.SelectedValue);
Boolean[] Cheked = new Boolean[digit];
for (int i = 0; i < digit; i++)
{
Cheked[i] = Check[i].Checked;
}

return Cheked;
}