38

ASP.NET の Label コントロールは<span>タグをレンダリングするようですが、HTML をレンダリングするサーバー コントロールはあります<div>か?

確かに、設定display: blockすることはできますし、同じように見えるかもしれませんが、スパン内に div をネストしたくはありません。また<%= MyVariable %>、ポストバックでうまく動作しない可能性があるため、使用しないことをお勧めします。

何か提案はありますか?

4

6 に答える 6

63

もちろん、ASP.NET には、Panel というビルトイン コントロールがあります。

そして、次のように使用できます。

<asp:Panel ID="myPanel" runat="server">
    <!-- Other markup here like client and server controls/elements -->
</asp:Panel>
于 2011-04-15T09:58:53.970 に答える
31

HtmlGenericControlクラスが必要だと思います。HtmlGenericControl指定されたタグでクラスの新しいインスタンスを初期化する文字列変数を受け入れるコンストラクターがあります。

var div = new HtmlGenericControl("div");

hasInnerHtmlInnerTextproperties もあります(前の回答へのコメントでこれについて言及しました)。

于 2011-04-15T10:18:38.813 に答える
8

パネルコントロールを試してください。

于 2011-04-15T09:59:19.277 に答える
6

これを試して:

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

テキストを 内Literalに設定すると、html タグなしでレンダリングされます

于 2015-12-08T21:14:52.777 に答える
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;
    }
}
于 2013-01-09T12:08:14.460 に答える
0
div runat="server" id="myserversideDiv" 

ここに私の内部テキスト。内側のテキストと内側の html プロパティ、およびほとんどの asp.net サーバー コントロール プロパティがあります。それを試してみてください。

于 2015-11-20T14:16:24.903 に答える