繁体   English   中英

如何在c#中将CSS添加到动态创建的div中?

[英]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将呈现为跨度。 您只需要设置CssClassText属性。


C#

Label1.CssClass = "someClass";
Label1.Text = "Vidal";



CSS

.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM