如何divs
在 c# 中使用占位符动态创建?我已经在中继器内声明了占位符。
是否可以在占位符中动态创建控件?
干得好:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
PlaceHolder pl = e.Item.FindControl("PlaceHolder1") as PlaceHolder;
if (pl != null)
{
HtmlGenericControl div1 = new HtmlGenericControl("div");
div1.InnerHtml = "Hello";
pl.Controls.Add(div1);
}
}
}
div
要在PlaceHolder
控件内动态添加一个Repeater
控件,您需要ItemDataBound
使用Repeater
.
在方法中,ItemDataBound
您将需要找到PlaceHolder
控件。首先检查是否ItemType
是ListItemType.Item
或ListItemType.AlternatingItem
首先。
PlaceHolder ph = (PlaceHolder) e.Item.FindControl("PlaceHolderControl1");
然后您可以div
按照 MUG4N 的建议添加。
HtmlGenericControl div1 = new HtmlGenericControl("div");
div1.InnerHtml = "Hello";
div1.Attributes.Add("class", "classname");
div1.Attributes.Add("style", "top: 10px; left: 20px;");
ph.Controls.Add(div1);
要添加另一个,只需从下div
重复到div1 = new HtmlGenericControl("div");
ph.Controls.Add(div1);
或者,您可以添加一个<asp:Panel>
控件,因为它在页面上呈现为 a<div>
但更多的是“.net”
Panel panel1 = new Panel();
然后在其中添加一个<asp:Literal>
控件。
Literal literal1 = new Literal() { Text = "Hello" };
panel1.Controls.Add(literal1);
ph.Controls.Add(panel1);