![](/img/trans.png)
[英]How can I dynamically create a DIV in C#, add child elements to it, and then hide the DIV (and everything on it)?
[英]How can i add css to a dynamically created div in c#?
我正在使用css使用它的id配置此div的属性,但是它不能正常工作,也许是因为我在后面的代码中用c#创建了它,我该如何解决?
C#
StringBuilder sb = new StringBuilder();
sb.Append(@"<div id=""img1"" runat=""server"">Vidal</div>");
Label1.Text = sb.ToString();
CSS
#img1{
position: absolute;
top: 20px;
left: 20px;
width: 253px;height: 190px;
}
我将使用类而不是ID。 另外,您无需将其设为div,因为您的Label将呈现为跨度。 您只需要设置CssClass
和Text
属性。
Label1.CssClass = "someClass";
Label1.Text = "Vidal";
.someClass
{
position: absolute;
top: 20px;
left: 20px;
width: 253px;
height: 190px;
}
您不能使用标签控件来显示html内容,不能使用文字控件或下面的面板
Panel div = new Panel();
div.ID = "img1";
div.Controls.Add(new Literal{Text = "Vidal"});
this.Controls.Add(div);
我认为出于您的目的,使用asp:literal control可能会更好:
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"image-css-selector">Vidal</div>");
Literal1.Text = sb.ToString();
标签控件将具有自己的标记,这可能会影响您的html代码
如果您使用的是单个Web表单,请确保您没有多个ID。 如果您使用的是母版页,并且确实需要对div使用runat="server
属性”,则需要像这样更改css:
#ContentPlaceHolder_img1{
position: absolute;
top: 20px;
left: 20px;
width: 253px;height: 190px;
其中ContentPlaceHolder
是您为内容占位符提供的ID的名称。 例如:
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
在您的母版页中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.