仅为标签asp.net的一部分设置背景颜色

时间:2011-11-18 21:12:00

标签: c# 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使完整的标签返回颜色为红色,而我只是想让*符号为红色...我不确定它是否可以使用。

请提供您的意见。

4 个答案:

答案 0 :(得分: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>"));

答案 1 :(得分:0)

将星号(*)放在自己的span标签中,并通过CSS类为其应用颜色。

更优雅的方法是从Label继承自己的自定义标签,并将CSS规则作为属性应用于此。通过这种方式,您可以在页面上拥有这些集合,而不会出现代码隐藏中的混乱:)

答案 2 :(得分:0)

我相信你可以这样做:

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

这似乎有点夸张但如果你想要在一个标签的背景下描述的造型,这可能是你唯一的选择。

答案 3 :(得分:0)

这是可行的,但它很难看:

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