0

aspxコード ビューでは、次のようにコーディングできます。

<asp:ListBox runat="server">
    <asp:ListItem Text="Item1" />
    <asp:ListItem Text="Item2" />
</asp:ListBox>

ただし、ListItem クラスはサーバー コントロールではありません。カスタム サーバー コントロールでそれを行うにはどうすればよいでしょうか。つまり、このマークアップ スタイルを機能させることができる ListItem のようなクラスを開発するにはどうすればよいでしょうか。ListBox に似たサーバー コントロールを作成しています。

ありがとう:)

4

3 に答える 3

1

さまざまな理由で、ListControlから継承するクラスを作成します。これでも、完全なUIインテリセンス(デザイナーがカスタムアセンブリを操作する方法に関するもの)が得られない場合がありますが、リストアイテムの追加をサポートし、すべてを管理します。

于 2010-04-06T11:55:47.347 に答える
0
protected override void RenderContents(HtmlTextWriter output)
        {

            output.Write("<div><div class=\"UserSectionHead\">");

            Label l = new Label() { Text = Label };
            TextBox t = new TextBox() { Text = Text };
            l.AssociatedControlID = t.ID;
            l.RenderControl(output);

            output.Write("</div><div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>");

            t.RenderControl(output);

            output.Write("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>");

        }
于 2014-08-11T13:01:23.330 に答える
0

コントロールでそのようなことをしたい場合は、Control Designerを実装する必要があります。

追加するために編集:

ParseChildrenまた、 、PersistChildrenDesignerSerializationVisibility、およびPersistenceMode属性も確認してください。

于 2010-04-06T09:41:34.830 に答える