如何设置“文本框.用户控件页上占位符中的文本值

本文关键字:文本 控件 占位符 用户 何设置 设置 文本框 | 更新日期: 2023-09-27 18:35:36

我在占位符中创建了动态文本框。我设置了文本框ID,但我想在创建文本框时为每个文本框设置textbox.Text值。

用户选择在下拉列表中创建文本框的数量ddlUserSelected任何想要的。例如:用户在下拉列表中选择 3 我创建了 3 个文本框,但我想设置每个textbox.text值。

这是我的代码:

<asp:DropDownList ID="ddlUserSelected" AutoPostBack="true" OnSelectedIndexChanged="ddlUserSelected_SelectedIndexChanged" runat="server">
 <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
 <asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click"/>

代码隐藏:

protected void ddlUserSelected_SelectedIndexChanged(object sender, EventArgs e)
    {
     for (int a = 1; a <= int.Parse(ddlUserSelected.SelectedItem.Text); a++)
            {
                TextBox txtDate = new TextBox();
                Label lbl = new Label();          
                lbl.Text = "<br/>";        
                txtDate .Width = 70;
                txtDate .CssClass = "tbl";
                txtDate .ID = "txtDate" + a;                  
                PlaceHolder1.Controls.Add(txtDate);            
                PlaceHolder1.Controls.Add(lbl);
                //*******HERE IS: I WANT TO SET EACH TEXTBOX VALUE*******
            }             
}

在保存按钮单击事件中获取文本框值:

protected void btnSave_Click(object sender, EventArgs e)
{
   for (int a = 1; a <= int.Parse(ddlUserSelected.SelectedItem.Text); a++)
    {              
      string vvv = Request.Form["ctl00$ctl00$cphcontent$cphmain_main$UserControl$txtDate" + a];  
        //After I send a List each value 
    }
}

感谢您的帮助

如何设置“文本框.用户控件页上占位符中的文本值

在将文本框添加到占位符之前,必须设置该值:

...
txtDate.Text = "Value";          
PlaceHolder1.Controls.Add(txtDate);            
PlaceHolder1.Controls.Add(lbl);

要获取值,请执行以下操作:

for (int i = 0; i < PlaceHolder1.Controls.Count; i++)
{
    Control ctrl = PlaceHolder1.Controls[i];
    if (ctrl is TextBox)
    {
        TextBox txt = (TextBox)ctrl;
        string value = txt.Text;
    }
}