protected void Page_Load(object sender, EventArgs e)
{
Label myLabel = new Label();
myLabel.Text = "Testing 1 2 3";
}
如果我在后面的代码中创建了这个 Label 对象,并且它在主页上没有 < asp:Label > 标签,我如何将这个 Label 放在页面的某个地方?
我想根据数据库中的信息动态创建控件。从那里,我想将控件放在网页上。我无法为它们预定义位置,因为控件的数量和类型会发生变化。
执行此操作的最佳方法是什么?
如果我的页面上已经有一些东西,例如表格,并且我想将控件放在表格末尾之后怎么办。
最佳答案
您必须将它添加到页面的某个控件集合中。
this.Controls.Add(myLabel);
我不会将其直接添加到页面,而是使用 PlaceHolders
或 Panels
作为容器控件。您最迟需要使用与以前相同的 ID 在 page_load
中的每个回发中重新创建动态创建的控件(以重新加载 ViewState 和触发事件)。
您应该使用 CSS 来控制控件的布局。
另一种方法是使用 web databound control像 Repeater
这样更容易,并且会自动维护控件及其状态。
关于c# - 如何将在代码隐藏中创建的控件放置在页面上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11640399/