0

私のプロジェクトは現在、コード ビハインドなどを介して Web フォームにユーザー コントロールを追加しています。

For Each p In userlist
            Dim uc1 As New TimeSelector

            panel.Controls.Add(New LiteralControl("<asp:panel1 runat=" & "server" & ">"))
            panel.Controls.Add(New LiteralControl(p.ToString))
            panel.Controls.Add(New LiteralControl("<asp:Updatepanel1 runat=" & "server" & ">"))
            uc1 = DirectCast(Page.LoadControl("~/UserControls/StaffScheduling/TimeSelector.ascx"), UserControl)
            uc1.ID = "UC" & j
            panel.Controls.Add(uc1)
            panel.Controls.Add(New LiteralControl("</asp:Updatepanel1>"))
            panel.Controls.Add(New LiteralControl("</asp:panel1>"))
            panel.Controls.Add(New LiteralControl("<p></p>"))
            j += 1
        Next

コード ビハインド以外の Web フォームにユーザー コントロールを追加するより良い方法はありますか? 私は最善のアプローチを取っていますか?

よろしく

4

1 に答える 1

0

追加する必要のあるユーザーコントロールの最大数がない場合は、マークアップに追加してみませんか?

なぜ聞くの?

  1. ユーザーコントロールが表示されないという問題が発生することがよくあります。
  2. ユーザーコントロールはマークアップに存在しないため、ユーザーコントロールイベントは発生しません。代わりに動的に生成されます。
  3. 速度(ページサイズ)に違いはありません。必要に応じて、そこの可視性を切り替えることができます。
  4. はるかにクリーンでエレガントなソリューション。

率直に言って、このアプローチを使用して、アプローチから生じる多くの煩わしさから身を守る必要があります。

于 2012-06-28T13:59:04.253 に答える