2011-11-18 111 views
1

我正在爲頁面動態添加標籤,有幾個標籤必須標記爲必需。下面是代碼僅爲標籤的一部分設置背景顏色asp.net

Panel1.Controls.Add(new LiteralControl("<td>")); 
     if (required) 
     { 
      Mynewlabel.Text = lblname + " *"; 
      Mynewlabel.BackColor = System.Drawing.Color.Red; 
     } 
     ControlsPanel.Controls.Add(Mynewlabel); 
     ControlsPanel.Controls.Add(new LiteralControl("</td>")); 

設置Mynewlabel.BackColor使得完整的標籤背面顏色爲紅色,而我只想*符號是在紅......我不知道這是否是做的,能。

請提供您的意見。

回答

2

CSS:

.required 
{ 
    color:red; 
} 

代碼:

Panel1.Controls.Add(new LiteralControl("<td>")); 
if (required) 
{ 
    Mynewlabel.Text = lblname; 
    Label lblRequired = new Label(); 
    lblRequired.Text = "*"; 
    lblRequired.CssClass= "required"; 
} 
ControlsPanel.Controls.Add(Mynewlabel); 
ControlsPanel.Controls.Add(lblRequired); 
ControlsPanel.Controls.Add(new LiteralControl("</td>")); 
0

將星號(*)放在自己的span標籤中,並將顏色應用於通過CSS類的顏色。

更優雅的方法是從Label繼承自己的自定義標籤並將CSS規則作爲屬性應用於該標籤。這樣,您就可以在你的後臺代碼:)

0

有這些頁面上的集合而不亂,我相信你可以做這樣的事情:

Mynewlabel.Text = lblname + @" <span style=""background-color:red"">*</span>"; 

這似乎有點這些混沌,但如果你希望你在一個標籤的背景下描述的造型,這可能是你唯一的選擇。

0

這是可行的,但它的醜陋:

Mynewlabel.Text = lblname + @"<span style=""color:red;""> *</span>"; 
+0

謝謝。我剛剛做了Mynewlabel.Text = lblname + @「   *  」; – Janet