我创建了一个在服务器上运行的DIV
,然后动态创建TextBox
控件并将其添加到DIV
。稍后当我尝试阅读TextBox
中每个DIV
的Text属性时,我无法获得控件...
我如何做到这一点?
在服务器上运行的DIV ......
<div id="divBonusPercents" runat="server"></div>
根据某些条件动态添加文本框...
foreach (ListItem item in lbTeamsEOM.Items)
if (item.Selected)
{
// add controls for team bonus %
TextBox tbPercent = new TextBox();
tbPercent.Text = "15%";
tbPercent.ID = "tbPercent" + item.Value;
divBonusPercents.Controls.Add(tbPercent);
}
获取DIV中每个TextBox的值
List<string> lBonusPercent = new List<string>();
foreach (Control c in divBonusPercents.Controls)
if (c.GetType() == typeof(TextBox))
lBonusPercent.Add(((TextBox)c).Text);
答案 0 :(得分:0)
以前的海报是正确的,因为您无法访问TextBoxes的Text
属性,除非它们在页面生命周期中尽早创建。
但是,实际发布的表单元素仍应存在于HTTP请求中。 Request.Form[**TextBoxObjectHere**.UniqueID]
应该返回表单帖子中文本框中的任何文字。