我正在试图弄清楚如何将CSS应用于在C#中创建的Label。一切都编译并运行,它似乎没有应用CSS。 CSS位于链接到站点母版页的文件中。 CSS文件中的其他所有内容都应用于应用程序。
代码隐藏:
...
Label label = new Label();
SqlCommand command = new SqlCommand("SELECT Q_Text FROM HRA.dbo.Questions WHERE QID = 1");
command.Connection = connection;
reader = command.ExecuteReader();
reader.Read();
label.Text = reader["Q_Text"].ToString();
label.ID = "rblabel";
label.CssClass = "rblabel";
reader.Close();
holder.Controls.Add(label);
...
ASP:
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<asp:PlaceHolder ID="holder" runat="server">
</asp:PlaceHolder>
</asp:Content>
CSS:
.rblabel {
text-align:left;
padding-left: 2em;
font-size: 4em;
}
编辑:在我的代码中添加了HTML和Control.Add()
语句(忘了在我的副本/ pase中包含它)。这个HTML是PlaceHolder
。
HTML:
<section class="content-wrapper main-content clear-fix">
<span id="MainContent_rblabel" class="rblabel">TEST TEST TEST</span>
<table id="MainContent_ctl00" class="radio">
<tr>
<td><input id="MainContent_ctl00_0" type="radio" name="ctl00$MainContent$ctl00"value="1" />
<label for="MainContent_ctl00_0">Excellent</label></td>
</tr><tr>
<td><input id="MainContent_ctl00_1" type="radio" name="ctl00$MainContent$ctl00" value="1" />
<label for="MainContent_ctl00_1">Good</label></td>
</tr><tr>
<td><input id="MainContent_ctl00_2" type="radio" name="ctl00$MainContent$ctl00"value="1" />
<label for="MainContent_ctl00_2">Fair</label></td>
</tr><tr>
<td><input id="MainContent_ctl00_3" type="radio" name="ctl00$MainContent$ctl00"value="1" />
<label for="MainContent_ctl00_3">Poor</label></td>
</tr>
</table>
</section>
答案 0 :(得分:1)
基本上有两种可能性:
您的标签可能无法在CLASS属性设置为所需CSS类的情况下呈现。您可以通过查看呈现的HTML来验证。 (如果标签根本没有出现,则代码建议您不要将其添加到其父级的Controls集合中。)
一切正常,但由于您的CSS或其他样式表覆盖它的某些问题,它在您的浏览器中无法正确显示。要对此进行调试,您需要使用Firebug或IE的开发人员工具。
答案 1 :(得分:0)
CssClass属性是http://www.w3schools.com/aspnet/prop_webcontrol_style_cssclass.asp
的正确方法您遗漏了将标签添加到页面/容器等的代码,这可能是错误所在。
显示页面的HTML源输出,以查看生成的标签实际上是否包含值为“rblabel”的CLASS属性也会有所帮助。
如果情况更糟,请在HTML中使用Literal而不是Label。
答案 2 :(得分:0)
看起来您实际上并未将标签添加到要显示的位置。尝试类似:
holder.Controls.Add(label);
在您的代码隐藏中。
答案 3 :(得分:0)
span是一个内联元素,因此在所有浏览器中并不总是遵循填充,宽度和高度。尝试将其设置为inline-block
。
.rblabel {
text-align:left;
padding-left: 2em;
font-size: 4em;
display: inline-block;
}