我有一个div,我试图在代码中添加一个CSS类,但我尝试时收到以下错误
Property or indexer 'System.Web.UI.HtmlControls.HtmlControl.Style' cannot be assigned to -- it is read only
Run Code Online (Sandbox Code Playgroud)
我使用以下代码:
protected void BTNEvent_Click(object sender, ImageClickEventArgs e)
{
BtnventCss.Style= "hom_but_a";
}
Run Code Online (Sandbox Code Playgroud)
谁能帮帮我吗?
Cas*_*jne 49
如果:
<asp:Button ID="Button1" runat="server" CssClass="test1 test3 test-test" />
Run Code Online (Sandbox Code Playgroud)
添加或删除类,而不是使用覆盖所有类
BtnventCss.CssClass = "hom_but_a"
Run Code Online (Sandbox Code Playgroud)
保持HTML正确:
string classname = "TestClass";
// Add a class
BtnventCss.CssClass = String.Join(" ", Button1
.CssClass
.Split(' ')
.Except(new string[]{"",classname})
.Concat(new string[]{classname})
.ToArray()
);
// Remove a class
BtnventCss.CssClass = String.Join(" ", Button1
.CssClass
.Split(' ')
.Except(new string[]{"",classname})
.ToArray()
);
Run Code Online (Sandbox Code Playgroud)
这保证了
特别是当客户端开发在一个元素上使用多个类名时.
在您的示例中,使用
string classname = "TestClass";
// Add a class
Button1.Attributes.Add("class", String.Join(" ", Button1
.Attributes["class"]
.Split(' ')
.Except(new string[]{"",classname})
.Concat(new string[]{classname})
.ToArray()
));
// Remove a class
Button1.Attributes.Add("class", String.Join(" ", Button1
.Attributes["class"]
.Split(' ')
.Except(new string[]{"",classname})
.ToArray()
));
Run Code Online (Sandbox Code Playgroud)
你应该将它包装在方法/属性中;)
Vin*_*B R 31
<div runat="server">映射到a HtmlGenericControl.尝试使用BtnventCss.Attributes.Add("class", "hom_but_a");
该样式属性获取所有级联样式表(CSS)属性的集合; 你不能设置它.
试试吧BtnventCss.CssClass = "hom_but_a";.
我假设BtnventCss是一个WebControl.
我刚看到你可能正在使用 <div runat="server"...
如果是这样,您可以尝试:
BtnventCss.Attributes.Add("class", "hom_but_a");
Run Code Online (Sandbox Code Playgroud)
您可以将div 设为asp:panel - 它们将呈现相同的内容,您将获得更好的服务器端支持.
对于非ASP.NET控件,即HTML控件等div, table, td, tr,您需要首先使它们成为服务器控件,分配ID,然后从服务器代码中分配属性:
<head>
<style type="text/css">
.top_rounded
{
height: 75px;
width: 75px;
border: 2px solid;
border-radius: 5px;
-moz-border-radius: 5px; /* Firefox 3.6 and earlier */
border-color: #9c1c1f;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div runat="server" id="myDiv">This is my div</div>
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
myDiv.Attributes.Add("class", "top_rounded");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
168562 次 |
| 最近记录: |