2010-09-22 82 views
1

容易解释一下。有没有什么办法可以做到这一点:将动态dotnet webcontrol添加到静态html的属性值中

<div id="header" style='<asp:Literal runat="server" ID="litBackgroundImage"></asp:Literal>' > 

它看起来有效,但Visual Studio将无法识别litBackgroundImage在代码中隐藏的有效控制。将div设置为runat =“server”将不起作用,因为style属性是只读的。

任何建议感激地接受

回答

1

添加runat="server"到您的DIV,然后你可以从服务器端访问它,这样你就可以动态设置style属性。

+1

不能设置样式动态,正如我上面所说 - 它是只读的。 – 2010-09-22 16:02:48

+0

@Matt,我认为BlueCode正在讨论使用Attributes属性而不是Style属性。 – 2010-09-22 17:22:13

1

威力工作:

HtmlControl headerDiv = (HtmlControl)this.FindControl("header"); 
headerDiv.Attributes.Add("class", **NAMEOFCSSCLASSTOUSE**); 

我没有测试它,但它应该工作。你将不得不确保你的风格是一个CSS文件中的CSS类。

编辑

测试以上都不行之后,但对我来说以下的罚款:

<div id="header3" runat="server">This is header3 ...</div> 

,并在后台代码:

header3.Attributes("style") = "height: 100px; background-color: red;" 
0

是您将文字嵌入<form>标记中?这是一个明显的答案,但值得一提的是。

0

试试这个

<div id="div1" runat="server">...</div> 

div1.Style["width"] = "100px"; 
div1.Style["color"] = "#FF0000";