2010-09-22 80 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";