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

本文关键字:一部分 置背景色 net 标签 asp | 更新日期: 2023-09-27 18:15:04

我正在动态地向页面添加标签,有一些标签必须根据需要进行标记。下面是代码

 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使完整的标签背面颜色为红色,而不是我只想要*符号为红色…我不确定这是否可行。

请提供您的输入

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

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>"));

我相信你可以这样做:

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

这看起来有点粗糙,但如果你想要在一个标签的上下文中描述的样式,这可能是你唯一的选择。

这是可行的,但它是丑陋的:

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

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

更优雅的方法是从label继承您自己的自定义标签,并将CSS规则作为属性应用于该标签。这样,您就可以在页面上收集这些内容,而不会在代码后面造成混乱:)