簡體   English   中英

在li標簽內渲染PlaceHolder

[英]Render PlaceHolder within li tags

我遇到下一種情況:在一個ITemplate對象中,我正在渲染一個帶有<li>元素的Repeater,通常這樣做是這樣的:

Dim literalControl as new LiteralControl
literalControl = "<li>blah blah</li>"
container.Controls.Add(literalControl)

但是在某一點上,我需要添加一個由另一個功能返回的PlaceHolder,該功能還可以用於其他目的,不僅是該轉發器,而且我得到的是這樣的:

Dim literalControl as new LiteralControl
Dim plTable As PlaceHolder

literalControl = "<li>blah blah</li>"
MyObject.Render(AComplexObect, plTable)

container.Controls.Add(literalControl)
container.Controls.Add(plTable)

這很好用,但是placehoder中的元素留 <li>標記之外,我希望它在里面。 plTable有許多不同類型的元素,因此我將其內容循環轉換為Literal或LiteralControl會引發錯誤,因為並非所有元素都可以轉換為這些類型。

我有什么選擇?

謝謝

這對您有用嗎:

Dim literalControl As New LiteralControl
Dim plTable As PlaceHolder
Dim swWriter As New StringWriter
Dim htwWriter As New HtmlTextWriter(swWriter)

MyObject.Render(AComplexObect, plTable)
MyObject.RenderControl(htwWriter)

literalControl.Text = "<li>" & swWriter.ToString() & "</li>"

container.Controls.Add(literalControl)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM