دریافت مقادیر در asp.net از textbox هایی که به صورت داینامیک ایجاد شده اند

پنجشنبه 9 بهمن 1393

در این مقاله میخواهیم در textbox ،asp.net هایی به صورت داینامیک بسازیم و مقادیری را که کاربر وارد میکند را بدست آوریم

دریافت مقادیر در asp.net از textbox هایی که به صورت داینامیک ایجاد شده اند

به صفحه خود یک panel و دو button اضافه کنید یکی برای اضافه کردن textbox  و دیگری برای بدست آوردن مقادیر:


<asp:Panel ID="pnlTextBoxes" runat="server">
</asp:Panel>
<hr />
<asp:Button ID="btnAdd" runat="server" Text="Add New" OnClick="AddTextBox" />
<asp:Button ID="btnGet" runat="server" Text="Get Values" OnClick="GetTextBoxValues" />

زمانی که روی دکمه add کلیک میکنیم ابتدا به تعداد textbox های نمایش داده شده در پنل اضافه میشود سپس textbox جدید ساخته میشوددر صفحه aspx.cs خود کد زیر را وارد کنید:


protected void AddTextBox(object sender, EventArgs e)
{
    int index = pnlTextBoxes.Controls.OfType<TextBox>().ToList().Count + 1;
    this.CreateTextBox("txtDynamic" + index);
}
 
private void CreateTextBox(string id)
{
    TextBox txt = new TextBox();
    txt.ID = id;
    pnlTextBoxes.Controls.Add(txt);
 
    Literal lt = new Literal();
    lt.Text = "<br />";
    pnlTextBoxes.Controls.Add(lt);
}

به منظور حفظ textboxها در Postback ها ماباید از رویداد PreInit صفحه استفاده کنیم:


protected void Page_PreInit(object sender, EventArgs e)
{
    List<string> keys = Request.Form.AllKeys.Where(key => key.Contains("txtDynamic")).ToList();
    int i = 1;
    foreach (string key in keys)
    {
        this.CreateTextBox("txtDynamic" + i);
        i++;
    }
}

زمانی که روی دکمه get کلیک میکنیم یک حلقه روی textbox های اضافه شده به پنل میزنیم کد دراین حلقه  id ها و مقادیر textbox ها واکشی میشود و از طریق jquery و alert نمایش داده میشود:


protected void GetTextBoxValues(object sender, EventArgs e)
{
    string message = "";
    foreach (TextBox textBox in pnlTextBoxes.Controls.OfType<TextBox>())
    {
        message += textBox.ID + ": " + textBox.Text + "\\n";
    }
    ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('" + message + "');", true);
}

حالا میتونید برنامه رو اجرا کنید:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید