ایجاد کنترل Textbox در زمان اجرا و اعتبارسنجی آنها به همراه خواندن و نمایش محتوای آنها

در این مقاله قصد داریم نحوه ایجاد textbox , اعتبار سنجی , خواندن محتوا و نمایش مقدار Textbox را در زمان اجرا شرح دهیم .

ایجاد کنترل Textbox  در زمان اجرا و اعتبارسنجی آنها به همراه خواندن و نمایش محتوای آنها

برای ساخت textbox پویا و اعتبار سنجی آنها مانند زیر عمل میکنیم .

در ابتدا هنگامی که بر روی دکمه نمایش محتوای textbox کلیک می کنیم , پیغام "Not Empty" نشان داده میشود .

و هنگامی که textbox ها را تکمیل میکنیم , سپس دکمه "نمایش محتوای textbox "را کلیک می کنیم  محتوای کنترل ها را خوانده و در زمان اجرا نمیش می دهد مانند تصویر زیر :

تگ html صفحه :

    <div>
        <h3><a href="http://barnamenevisan.org/">
            برنامه نویسان
            </a>
        </h3>
       <h1 >ایجاد کنترل TextBox پویا با اعتبارسنجی و خواندن و نمایش محتوای آنها  </h1>
          <table >
              <tr>
                  <td>
                      <asp:Label ID="Label1" runat="server" Text="تعداد TextBox را وارد نمایید  :"></asp:Label>      
                      <asp:TextBox ID="getvalue" runat="server" ></asp:TextBox>
                  </td>
              </tr>
              <tr>
                  <td>
                        <asp:PlaceHolder ID="text" runat="server"></asp:PlaceHolder>
                  </td>
              </tr>
              <tr>           
                  <td>
                      <asp:Button ID="Create_TextBox" runat="server" Text="ایجاد - TextBox"  
                          OnClick="Create_TextBox_Click" />

                      <asp:Button ID="Selected_TextBox" runat="server" Text="نمایش محتوای TextBox" 
                          OnClick="Selected_TextBox_OnClick" />
                 </td>
              </tr>
       
              <tr>
              <td>
                  <asp:PlaceHolder ID="Viewtextvalue" runat="server"></asp:PlaceHolder>
              </td>
              </tr>
          </table>
      </div>

 

 

 کد های مربوط به codebehind صفحه :

private static int intCount = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ViewState["TextBoxCreated"] = false;
        }
    }

    protected void Create_TextBox_Click(object sender, EventArgs e)
    {
        intCount = Convert.ToInt32(getvalue.Text);
        if (!Convert.ToBoolean(ViewState["TextBoxCreated"]))
        {
            DynamicTextBox();
        }
    }


    protected void getvalue_TextChanged(object sender, EventArgs e)
    {
        intCount = Convert.ToInt32(getvalue.Text);
    }

    private void DynamicTextBox()
    {


        for (int i = 0; i < intCount; i++)
        {
            TextBox newtextbox = new TextBox();
            // adding text box
            text.Controls.Add(new LiteralControl("Name :" + " &nbsp;&nbsp;"));
            newtextbox.ID = "TextBox" + i.ToString();
            newtextbox.ValidationGroup = "Validate";
            text.Controls.Add(newtextbox);

            //validating Textbox
            RequiredFieldValidator req = new RequiredFieldValidator();
            req.ID = "RequiredValidator" + i.ToString();
            req.ControlToValidate = "TextBox" + i.ToString();
            req.ErrorMessage = " * Not Empty";
            req.SetFocusOnError = true;
            text.Controls.Add(req);
            text.Controls.Add(new LiteralControl("<br/><br/>"));
        }
        ViewState["TextBoxCreated"] = true;
    }

    public void DisplayTextbox_selected()
    {
        List<string> name = new List<string>();

        foreach (Control ctr in text.Controls)
        {
            if (ctr is TextBox)
            {
                string value = ((TextBox) ctr).Text;
                name.Add(value);

            }
        }
        for (int i = 0; i < name.Count; i++)
        {
            Viewtextvalue.Controls.Add(new LiteralControl((i + 1) + " " + name[i]));
            Viewtextvalue.Controls.Add(new LiteralControl("<br /> <br/>"));
        }

    }

    protected override void LoadViewState(object savedState)
    {
        base.LoadViewState(savedState);
        if (Convert.ToBoolean(ViewState["TextBoxCreated"]))
        {
            DynamicTextBox();
        }

    }

    protected void Selected_TextBox_OnClick(object sender, EventArgs e)
    {
        if (Convert.ToBoolean(ViewState["TextBoxCreated"]))
        {
            DisplayTextbox_selected();
        }
        
    }
فایل های ضمیمه