【问题标题】:How to post dynamic generated text-boxes in another aspx page?如何在另一个 aspx 页面中发布动态生成的文本框?
【发布时间】:2015-10-13 04:16:41
【问题描述】:

我的代码正在根据用户输入的数字生成一个动态文本框,我想将其发布到另一个 aspx 页面中,而不是发布在同一个 aspx 页面中:

protected void Button2_Click(object sender, EventArgs e)
{
    string numOftextbox= TextBox1.Text.ToString();
    int count = int.Parse(numOftextbox.Trim());
    for (int j = 1; j <= count; j++)
    {
        string id = j.ToString();
        TextBox txtfname = new TextBox();
        txtfname.ID = "TextBox_" + id + "_";
        txtfname.Width = 160;
        txtfname.EnableViewState = true;
        form1.Controls.Add(txtfname);
        form1.Controls.Add(new LiteralControl("<br/>"));
    }
}

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    如果它只是一些文本框,基于某种逻辑,为什么不直接在页面之间传递数字,或者作为 Sesson 变量,或者在你的查询字符串中?

    如果不这样做,如果您出于某种原因必须传递文本框,假设您正在按逻辑顺序在后续页面上加载这些新文本框,您可以将这些文本框添加到您的会话中,并从那里访问它们你以后的页面。

    类似:

    string numOftextbox= TextBox1.Text.ToString();
        int count = int.Parse(numOftextbox.Trim());
        List<TextBox> txts = new List<TextBox>();
        for (int j = 1; j <= count; j++)
        {
            string id = j.ToString();
            TextBox txtfname = new TextBox();
            txtfname.ID = "TextBox_" + id + "_";
            txtfname.Width = 160;
            txtfname.EnableViewState = true;
            txts.Add(txtfname);
            form1.Controls.Add(txtfname);
            form1.Controls.Add(new LiteralControl("<br/>"));
    
        }
        Session["myTextBoxes"] = txts;
    

    然后,在您的后续页面上:

    List<TextBox> txts = (List<TextBox>)Session["myTextBoxes"];
    //Whatever you want to do with them...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2014-03-07
      相关资源
      最近更新 更多