2010-04-04 71 views
2

在我的.aspx.cs中,我有一個讀取.xml文件的代碼,並將xml反序列化爲一個名爲Post的對象。問題是,在我的.aspx頁面我有一個div,我想從後面的代碼使用從代碼背後生成的HTML填充這個div的內容。我該怎麼做?從代碼後面生成html

回答

4

您從ASPX標記提到的DIV:

<div><asp:Literal ID="PostContent" runat="server" /></div> 

後面的代碼:

PostContent.Text = Post.GeneratedHtml; 
3

使用div的InnerHtml或InnerText屬性加載文本。 div將是HtmlGenericControl類型的控件。

在你的頁面:

<div id="content" runat="server" /> 

在您的代碼隱藏:

protected HtmlGenericControl content; 

content.InnerHtml = myGeneratedText; 
+0

這樣的div ID的名稱應與該HtmlGenericControl變量名? – aherlambang 2010-04-04 01:25:43

+0

是的 - 它必須受到保護(或公開)。如果你有Visual Studio設置爲自動構建一個部分類,這將會爲你完成(我不記得這叫做[web應用程序項目??] - 我不使用它)。另外,正如Sky指出的,還有其他選擇 - 文字控制是一個很好的選擇。或者你可以直接在aspx文件中使用代碼:<%= myGeneratedText%>。 – Ray 2010-04-04 01:33:35

+0

這很好。但是你可能想要HtmlEncode myGeneratedText,因爲它是html: content.InnerHtml = HttpUtility.HtmlEncode(myGeneratedText); – BritishDeveloper 2010-04-06 12:57:24