CSS和ASP.NET控件

5

我注意到当尝试将“style”属性应用于asp:TextBox控件时,例如或尝试使用CSS类应用样式时,它不起作用。我必须明确设置属性。例如:

 <asp:TextBox runat="server" ID="DescriptionTextBox" BackColor="#F7FCFF" /> // Works

 <asp:TextBox runat="server" ID="DescriptionTextBox" CssClass="textbox" />  // Doesn't work
 <style type="text/css">
 .textbox
 {
     background-color: #F7FCFF;
 }
 </style>

我知道这是一个简单的问题,但能否有人友善地为我解答一下呢?

谢谢


你有将那个样式放在单独的CSS文件中吗?还是像你现在这样内联声明?是在文本框之后声明的吗? - c0deNinja
它是内联的 - 声明在我的注册指令和HTML之下。我正在使用Sage SalesLogix平台,因此有一个单独的主页面,我不想编辑它。我的CSS似乎对大多数控件都适用,但不适用于ASP.NET控件。根据回复,我猜可能被其他东西覆盖了。 - Jesse Roper
4个回答

5
不要过于困惑于什么是asp控件。实际上,它只生成HTML,然后应用CSS样式。第二个示例中使用的CssClass应该可以工作,但您需要检查HTML(使用浏览器开发人员工具(如Firebug)将显示应用的样式),而不是通过查看aspx进行调试。

2

看起来一切都正确。确保在head标签之间链接样式表,或者如果选择使用内联标签,则这些标签也需要在head标签之间。

<html>
<head>
<link href="StyleSheet.css" type="text/css" rel="stylesheet" />
</head>
<body>....

或者

<html>
<head>
<style type="text/css">
   .textbox
   {
      background-color: #F7FCFF;
   }
</style>
</head>....

请记住,在HTML中没有实际的TextBox控件,除非它提供了属性(例如asp.net),否则您必须使用您使用的CssClass。此外,如果您按照示例中的格式进行比较,那么问题就出在那里。请参见我的第二个代码块,以了解应该放置样式的位置。
希望这有所帮助。
Tony

2
文本框控件可能会生成带有背景颜色的样式属性,或使用更具体的CSS规则。 检查生成的HTML并使用FireBug查看应用/覆盖的CSS规则。

2
您可以在代码后端中执行类似于 DescriptionTextBox.style.add("background-color", "#fff") 这样的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接