2013-01-14 38 views
3

我在ASP.NET,C#和MS SQL Server中有一個Web應用程序。我正在使用外部CSS Metro UI CSS,它爲我提供了像Tiles(類似於Win8)的樣式化組件,通知,按鈕等。我想要顯示從數據庫中提取的內容或以這些樣式計算的數據DIVs。但由於它們不是ASP.NET控件,因此它們不能綁定到數據源。Response.Write Markup的特定部分

我嘗試使用Response.Write("MY HTML CODE")來動態生成內容,但它的工作原理並不完美,因爲內容與標記不同。實際上我不知道有什麼區別,但它不適合我現有的靜態頁面內容。有沒有辦法使用Response.Write()將內容插入到現有的HTML中?

現在,我想這一點,

Response.Write("<div class='message-dialog bg-color-blue fg-color-white' style='width: 50%; z-index:1000;'><h1>Congratulations!<br/></h1><h3>You Account is created.Please Sign In.</h3><a href='Default.aspx'><button class='button-set active bg-color-red fg-color-white' style='float:right'> OK </button></a></div>"); 

,這表明一個樣式框中適當的文本,但在我的現有頁面的頂部,_z-index_和頁面的背後出現離不開它。

+1

什麼阻止您將純html控件轉換爲服務器端控件? –

+0

對不起,我不知道,可能是runat attrib! –

回答

4

任何控件,即使是專門設計的div都可以在服務器端通過添加runat="server"屬性進行修改。

在你的aspx

所以,你可以做這樣的事情:

<div class='message-dialog bg-color-blue fg-color-white' style='width: 50%; z-index:1000;' runat="server" id="myDiv" /> 

而且在後面的代碼做任何你想做...例如:

myDiv.Controls.Add(new Label() { Text = "Hello World" }); 

甚至

myDiv.InnerHtml = "<h1>Hello World</h1>"; 

使用Response.Write在這種情況下可能是錯誤的方式...

+0

謝謝,這是一個很好的解釋。 但我有更多的疑問。我可以使用<%eval()%>這些類型的控件嗎?我如何定位myDiv中的元素?或者改變他們的CSS屬性? –

+0

在div裏面添加元素是按照我的說法完成的,使用'Controls.Add'並改變Css可以使用'CssStyle'屬性來完成 – Blachshma