ASP.NET の Label コントロールは<span>
タグをレンダリングするようですが、HTML をレンダリングするサーバー コントロールはあります<div>
か?
確かに、設定display: block
することはできますし、同じように見えるかもしれませんが、スパン内に div をネストしたくはありません。また<%= MyVariable %>
、ポストバックでうまく動作しない可能性があるため、使用しないことをお勧めします。
何か提案はありますか?
ASP.NET の Label コントロールは<span>
タグをレンダリングするようですが、HTML をレンダリングするサーバー コントロールはあります<div>
か?
確かに、設定display: block
することはできますし、同じように見えるかもしれませんが、スパン内に div をネストしたくはありません。また<%= MyVariable %>
、ポストバックでうまく動作しない可能性があるため、使用しないことをお勧めします。
何か提案はありますか?
もちろん、ASP.NET には、Panel というビルトイン コントロールがあります。
そして、次のように使用できます。
<asp:Panel ID="myPanel" runat="server">
<!-- Other markup here like client and server controls/elements -->
</asp:Panel>
HtmlGenericControl
クラスが必要だと思います。HtmlGenericControl
指定されたタグでクラスの新しいインスタンスを初期化する文字列変数を受け入れるコンストラクターがあります。
var div = new HtmlGenericControl("div");
hasInnerHtml
とInnerText
properties もあります(前の回答へのコメントでこれについて言及しました)。
パネルコントロールを試してください。
これを試して:
<div class="myclass">
<asp:Literal ID="mytext" runat="server"></asp:Literal>
</div>
テキストを 内Literal
に設定すると、html タグなしでレンダリングされます
<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;
}
}
div runat="server" id="myserversideDiv"
ここに私の内部テキスト。内側のテキストと内側の html プロパティ、およびほとんどの asp.net サーバー コントロール プロパティがあります。それを試してみてください。