Member 12988273 Ответов: 1

Первое динамическое текстовое поле должно появиться при загрузке страницы


Привет,
Я создал заполнитель, кнопку. при нажатии на кнопку генерируется динамическое текстовое поле. я хочу показать, что первое динамическое текстовое поле должно появляться всегда. затем, когда я нажимаю кнопку, должно появиться следующее текстовое поле.

вот мой код
<pre>  protected void LinkButton1_Click(object sender, EventArgs e)
    {
        CreateDynamicControls(true);
    }
  private void CreateDynamicControls(bool incrementRowCount = false)
    {
        int rowCount = 0;

        //initialize a session.
        rowCount = Convert.ToInt32(ViewState["clicks"]);

        if (incrementRowCount)
            rowCount++;

        ViewState["clicks"] = rowCount;

        //Create the textboxes and labels each time the button is clicked.
        for (int i = 0; i < rowCount; i++)
        {
            TextBox TxtBoxU = new TextBox();
            //TextBox TxtBoxE = new TextBox();

            Label lblU = new Label();
            //Label lblE = new Label();

            TxtBoxU.ID = "TextBoxU" + i.ToString();
            //TxtBoxE.ID = "TextBoxE" + i.ToString();
            TxtBoxU.Width=900;
            

            lblU.ID = "LabelU" + i.ToString();
            //lblE.ID = "LabelE" + i.ToString();

            lblU.Text = (i + 1).ToString() + " : ";
            //lblE.Text = "E-Mail : ";

            //Add the labels and textboxes to the Panel.
            PlaceHolder1.Controls.Add(lblU);
            PlaceHolder1.Controls.Add(TxtBoxU);
            PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
            PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
        }
    }
Kindly help


Что я уже пробовал:

</<pre><pre>  protected void LinkButton1_Click(object sender, EventArgs e)
    {
        CreateDynamicControls(true);
    }
  private void CreateDynamicControls(bool incrementRowCount = false)
    {
        int rowCount = 0;

        //initialize a session.
        rowCount = Convert.ToInt32(ViewState["clicks"]);

        if (incrementRowCount)
            rowCount++;

        ViewState["clicks"] = rowCount;

        //Create the textboxes and labels each time the button is clicked.
        for (int i = 0; i < rowCount; i++)
        {
            TextBox TxtBoxU = new TextBox();
            //TextBox TxtBoxE = new TextBox();

            Label lblU = new Label();
            //Label lblE = new Label();

            TxtBoxU.ID = "TextBoxU" + i.ToString();
            //TxtBoxE.ID = "TextBoxE" + i.ToString();
            TxtBoxU.Width=900;
            

            lblU.ID = "LabelU" + i.ToString();
            //lblE.ID = "LabelE" + i.ToString();

            lblU.Text = (i + 1).ToString() + " : ";
            //lblE.Text = "E-Mail : ";

            //Add the labels and textboxes to the Panel.
            PlaceHolder1.Controls.Add(lblU);
            PlaceHolder1.Controls.Add(TxtBoxU);
            PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
            PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
        }}
>

Maciej Los

А что не так с вашим кодом?

1 Ответов

Рейтинг:
0

CHill60

Вам нужно поместить код для создания первого текстового поля в событие PageLoad.

Кроме того, я думаю, что ваш CreateDynamicControls следует создавать только один набор текстовых полей + меток за раз - вы попытаетесь воссоздать уже существующие элементы управления в том виде, в каком они находятся в данный момент