Asp.net

PlaceHolder vs Literal 用於添加執行時生成的 HTML 標記

  • October 22, 2013

這個問題指出了Literal vs Label而這個問題指出了Panel VS。PlaceHolder但就在今天,我正在與我的同事討論使用PlacHolder 與 Literal來添加在執行時生成的 HTML 標記。這兩個控制項都不會產生任何額外的標記,但我們正在尋找合適的控制項來動態添加生成的標記。這個問題的答案建議使用兩者來添加生成的標記,所以我想知道我們應該使用哪種控制/方法來添加生成的標記,僅此而已。

既不渲染自己的任何標記(這可能是一件非常好的事情)。但是,aPlaceholder可以包含子控制項,而 aLiteral不能。

相比之下,aPlaceholder可以包含其他控制項,但沒有Text屬性。

我想知道我們應該使用哪種控制/方法來添加生成的標記,僅此而已。

如果“生成”是指最終結果是一個字元串,我會使用Literal. 如果要生成控制項樹,則將這些控制項附加到Placeholder.

或者,如果您想完全省略伺服器控制項的聲明:

<h2>Hello World</h2>
<p>The following is generated markup.</p>
<%= base.GetGeneratedMarkup() %>

我相信 aLiteral仍然在後台生成,但它允許您將生成的內容與頁面/控制項的標記部分混合(類似於 Razor)。

引用自:https://stackoverflow.com/questions/15323838