ASP.NET控件呈现<div>

Jam*_*mes 33 .net asp.net asp.net-controls asp.net-4.0

ASP.NET中的Label控件似乎呈现<span>标签,但是有一个服务器控件来呈现HTML <div>吗?

当然,我可以设置display: block,它可能看起来一样,但我宁愿不在跨越嵌套div.此外,我不想使用,<%= MyVariable %>因为这可能不会在回发上表现得很好.

有什么建议吗?

Mat*_*zer 56

当然:ASP.NET有一个名为Panel的内置控件!

您可以按如下方式使用它:

<asp:Panel ID="myPanel" runat="server">
    <!-- Other markup here like client and server controls/elements -->
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)

  • 你向它添加控件 - 它是一个容器.例如`myPanel.Controls.Add(new LiteralControl("Hello World"));` (2认同)

Ale*_*lex 27

我觉得你需要HtmlGenericControl上课.它有一个构造函数,它接受一个字符串变量,该变量初始化HtmlGenericControl具有指定标记的类的新实例:

var div = new HtmlGenericControl("div");
Run Code Online (Sandbox Code Playgroud)

它也有InnerHtmlInnerText属性(你以前的答案的评论中提到这一点).

  • `InnerText`属性提供自动HTML编码/解码.参见:例如,如果`InnerText`属性设置为`<b> Hello </ b>`,则`<`和`>`符号分别转换为`&lt;`和`&gt;`.在`InnerHtml`属性中,渲染的输出将是:`<b> Hello </ b>`. (4认同)
  • 您可以在标记中使用它,如:`<div runat ="server"id ="myPerfectDiv">我的内部文本</ div> (2认同)

Wid*_*dor 8

尝试Panel控件.


小智 5

试试这个:

<div class="myclass">
<asp:Literal ID="mytext" runat="server"></asp:Literal>
</div>
Run Code Online (Sandbox Code Playgroud)

在里面设置你的文字Literal,它没有html标签