所以我正在尝试制作一个动态表单生成器,人们可以在其中添加新表单并向该表单添加字段(添加字段会为该新字段显示多个文本框和下拉选项)。单击“添加新字段”时是否有任何方法可以附加到占位符控件?另外,从那些动态添加的控件中获取值的最佳方法是什么?
最佳答案
几个简单的步骤... 1) 创建一个新的控件实例。填充任何所需的属性。 2) 使用PlaceHolder 的.Controls.Add 方法将其添加到PlaceHolder。 3) 添加控件的事件处理程序。如图所示,通过使用委托(delegate),您可以访问控件的值。
DropDownList ddl = new DropDownList();
ListItem li0 = new ListItem(string.Empty, "0");
ListItem li1 = new ListItem("Hello", "1");
ListItem li2 = new ListItem("World", "2");
ddl.Items.Add(li0);
ddl.Items.Add(li1);
ddl.Items.Add(li2);
ddl.AutoPostBack = true;
PlaceHolder1.Controls.Add(ddl);
ddl.SelectedIndexChanged += delegate(object snd, EventArgs evt) { DoSomething(ddl.SelectedValue); };
public void DoSomething(string SelectedValue)
{
//Do something spectacular here...
}
关于C# 附加到占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2381407/