Для таго, каб дынамічна генеруе TextBoxes ў ASP.NET

Я хачу, каб генераваць дынамічна TextBox ў ASP.NET і C #. Гэты код працуе толькі адзін раз, але я хачу ў любы час націсніце на кнопку, дадалі два Textboxes.

private void CreateTextBox(string ID)
{
    TextBox txt = new TextBox();
    txt.ID = ID;
    txt.Width = Unit.Pixel(150);
    txt.AutoPostBack = false;
    TextBox txt2 = new TextBox();
    txt2.ID = ID + "s";
    txt2.Width = Unit.Pixel(100);
    txt2.AutoPostBack = false;
    Panel1.Controls.Add(txt);
    Panel1.Controls.Add(new LiteralControl("  "));
    Panel1.Controls.Add(txt2);
    Panel1.Controls.Add(new LiteralControl("
")); } protected void Button2_Click(object sender, EventArgs e) { CreateTextBox("txtTag-" + index.ToString()); index ++; }

Індэкс глабальнай зменнай статычнай унутр.

У чым праблема?

0

10 адказы

U неабходна вывучыць старонку Жыццёвы цыкл ASP.NET. Http гэта пратакол Сервер нічога не памятае пра папярэднія запытах

Y рабіць і не падрабязна аб выкарыстанні Session , а затым сачыць за індэксам ў Session пераменная

1
дададзена
Я ведаю, што сеанс, але як выкарыстоўваць гэта? Можа даць мне прыклад, калі ласка? Я хацеў бы дадаць панэль у сесіі або тэкставыя палі?
дададзена аўтар NASRIN, крыніца

U неабходна вывучыць старонку Жыццёвы цыкл ASP.NET. Http гэта пратакол Сервер нічога не памятае пра папярэднія запытах

Y рабіць і не падрабязна аб выкарыстанні Session , а затым сачыць за індэксам ў Session пераменная

1
дададзена
Я ведаю, што сеанс, але як выкарыстоўваць гэта? Можа даць мне прыклад, калі ласка? Я хацеў бы дадаць панэль у сесіі або тэкставыя палі?
дададзена аўтар NASRIN, крыніца

U неабходна вывучыць старонку Жыццёвы цыкл ASP.NET. Http гэта пратакол Сервер нічога не памятае пра папярэднія запытах

Y рабіць і не падрабязна аб выкарыстанні Session , а затым сачыць за індэксам ў Session пераменная

1
дададзена
Я ведаю, што сеанс, але як выкарыстоўваць гэта? Можа даць мне прыклад, калі ласка? Я хацеў бы дадаць панэль у сесіі або тэкставыя палі?
дададзена аўтар NASRIN, крыніца

Вы можаце выкарыстоўваць ControlRenderer замест гэтага, напрыклад, наступным чынам:

    protected void btn_Click(object sender, EventArgs e)
{
    TextBox textName;
    textName = new TextBox();
    textName.TextChanged += new EventHandler(textName_TextChanged);

    string divContect = ControlRenderer(divTextBox);
    divTextBox.InnerHtml = divContect + ControlRenderer(textName);
}

protected void textName_TextChanged(object sender, EventArgs e)
{

}

public string ControlRenderer(Control control)
{
    StringWriter writer = new StringWriter();
    control.RenderControl(new HtmlTextWriter(writer));
    return writer.ToString();
} 
1
дададзена
TextChanged гэтую падзею, якое прадугледжана тэкставае поле ў выпадку, калі і хочаце нейкі код будзе выконвацца пры любой тэкст у тэкставым полі змяняецца карыстальнікам, то і можа паставіць яго ў метадзе textName_TextChanged калі вы не хочаце апрацоўваць гэтую падзею, то проста выдаліць метад і радок textName.TextChanged + = новы EventHandler (textName_TextChanged);
дададзена аўтар Vishweshwar Kapse, крыніца
Дзякуючы. Гэта праца, але што TextChanged і ControlRenderer?
дададзена аўтар NASRIN, крыніца

Вы можаце выкарыстоўваць ControlRenderer замест гэтага, напрыклад, наступным чынам:

    protected void btn_Click(object sender, EventArgs e)
{
    TextBox textName;
    textName = new TextBox();
    textName.TextChanged += new EventHandler(textName_TextChanged);

    string divContect = ControlRenderer(divTextBox);
    divTextBox.InnerHtml = divContect + ControlRenderer(textName);
}

protected void textName_TextChanged(object sender, EventArgs e)
{

}

public string ControlRenderer(Control control)
{
    StringWriter writer = new StringWriter();
    control.RenderControl(new HtmlTextWriter(writer));
    return writer.ToString();
} 
1
дададзена
TextChanged гэтую падзею, якое прадугледжана тэкставае поле ў выпадку, калі і хочаце нейкі код будзе выконвацца пры любой тэкст у тэкставым полі змяняецца карыстальнікам, то і можа паставіць яго ў метадзе textName_TextChanged калі вы не хочаце апрацоўваць гэтую падзею, то проста выдаліць метад і радок textName.TextChanged + = новы EventHandler (textName_TextChanged);
дададзена аўтар Vishweshwar Kapse, крыніца
Дзякуючы. Гэта праца, але што TextChanged і ControlRenderer?
дададзена аўтар NASRIN, крыніца

Вы можаце выкарыстоўваць ControlRenderer замест гэтага, напрыклад, наступным чынам:

    protected void btn_Click(object sender, EventArgs e)
{
    TextBox textName;
    textName = new TextBox();
    textName.TextChanged += new EventHandler(textName_TextChanged);

    string divContect = ControlRenderer(divTextBox);
    divTextBox.InnerHtml = divContect + ControlRenderer(textName);
}

protected void textName_TextChanged(object sender, EventArgs e)
{

}

public string ControlRenderer(Control control)
{
    StringWriter writer = new StringWriter();
    control.RenderControl(new HtmlTextWriter(writer));
    return writer.ToString();
} 
1
дададзена
TextChanged гэтую падзею, якое прадугледжана тэкставае поле ў выпадку, калі і хочаце нейкі код будзе выконвацца пры любой тэкст у тэкставым полі змяняецца карыстальнікам, то і можа паставіць яго ў метадзе textName_TextChanged калі вы не хочаце апрацоўваць гэтую падзею, то проста выдаліць метад і радок textName.TextChanged + = новы EventHandler (textName_TextChanged);
дададзена аўтар Vishweshwar Kapse, крыніца
Дзякуючы. Гэта праца, але што TextChanged і ControlRenderer?
дададзена аўтар NASRIN, крыніца

Выкарыстоўвайце гэты код

int index = 1;
while(index <=2)
{
   CreateTextBox("txtTag-" + index.ToString());
   index++;
}
0
дададзена

Выкарыстоўвайце гэты код

int index = 1;
while(index <=2)
{
   CreateTextBox("txtTag-" + index.ToString());
   index++;
}
0
дададзена

You can add controls pragmatically only during the page's initialization stage, see ASP.NET Page Life Cycle Overview

0
дададзена

You can add controls pragmatically only during the page's initialization stage, see ASP.NET Page Life Cycle Overview

0
дададзена