ASP.NET控件用于呈现<div> </div>

时间:2011-04-15 09:57:01

标签: .net asp.net asp.net-4.0 asp.net-controls

ASP.NET中的Label控件似乎会呈现<span>标记,但是有一个服务器控件可以在<div>内呈现HTML吗?

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

有什么建议吗?

6 个答案:

答案 0 :(得分:52)

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

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

<asp:Panel ID="myPanel" runat="server">
    <!-- Other markup here like client and server controls/elements -->
</asp:Panel>

答案 1 :(得分:27)

我认为你需要HtmlGenericControl课程。它有一个构造函数,它接受一个字符串变量,该变量用指定的标记初始化HtmlGenericControl类的新实例:

var div = new HtmlGenericControl("div");

它还具有InnerHtmlInnerText属性(您在对上一个答案的评论中提到过这一点。)

答案 2 :(得分:8)

尝试Panel控件。

答案 3 :(得分:5)

试试这个:

<div class="myclass">
<asp:Literal ID="mytext" runat="server"></asp:Literal>
</div>

Literal内设置文字,无需使用html标记

答案 4 :(得分:2)

<asp:Panel>
<div id="NoRecords" runat="server" visible="false">No records are available.</div>
</asp:Panel>

代码隐藏

 protected void MyRepeater1_PreRender(object sender, EventArgs e)
{
    if (MyRepeater1.Items.Count == 0)
    {
        NoRecords.Visible = true;
    }
    else
    {
        NoRecords.Visible = false;
    }
}

答案 5 :(得分:0)

div runat="server" id="myserversideDiv" 

我的内心文字在这里。它具有内部文本和内部html属性以及大多数asp.net服务器控件属性。试试吧。