ASP.NET中的Label控件似乎会呈现<span>
标记,但是有一个服务器控件可以在<div>
内呈现HTML吗?
当然,我可以设置display: block
,它可能看起来一样,但我宁愿不在div中嵌入div。此外,我不想使用<%= MyVariable %>
,因为这可能不会在回发上表现得很好。
有什么建议吗?
答案 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");
它还具有InnerHtml
和InnerText
属性(您在对上一个答案的评论中提到过这一点。)
答案 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服务器控件属性。试试吧。