1
protected void Page_Load(object sender, EventArgs e)
{

Label myLabel = new Label();
myLabel.Text = "Testing 1 2 3";
}

如果我在后面的代码中创建了这个 Label 对象,并且它在主页上没有 < asp:Label > 标签,我怎样才能把这个 Label 放在页面上的某个地方?

我想根据数据库中的信息动态创建控件。从那里,我想将控件放在网页上。我无法为它们预定义位置,因为控件的数量和类型会发生变化。

最好的方法是什么?

如果我的页面上已经有一些东西,例如表格,并且我想将控件放置在表格的末尾之后怎么办。

4

2 回答 2

4

您必须将它添加到页面的某个地方的控件集合中。

this.Controls.Add(myLabel);

我不会将其直接添加到页面中,而是使用PlaceHoldersorPanels作为容器控件。page_load您需要最迟在每次回发时使用与以前相同的 ID 重新创建动态创建的控件(以重新加载 ViewState 和触发事件)。

您应该使用 CSS 来控制控件的布局。

另一种方法是使用Web 数据绑定控件,这样Repeater更容易并自动维护控件及其状态。

于 2012-07-24T22:49:38.750 回答
0

如果您使用占位符,则可以根据需要向其中添加任意数量的控件。如果为每个控件分配 CSS,则可以轻松地将控件放置在页面上所需的任何位置。

Label myLabel = new Label();
myLabel.Text = "Testing 1 2 3";
myLabel.cssClass ="myClass1"
Label myLabel2 = new Label();
myLabel2.Text = "Testing 4 5 6";
myLabel2.cssClass ="myClass2"
plHolder.controls.add(myLabel)
plHolder.controls.add(myLabel2)
于 2012-07-24T23:17:02.363 回答