簡體   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