0

ドロップダウン リストからの値の入力に基づいて、一連の div を動的に生成するためのメソッドがあります。ただし、番号が既に存在する場合、同じコードを再利用して、最初の page_load でテーブルを生成したいと考えています。

ここでメソッドが呼び出されます。これは GenerateTables と呼ばれ、Page_Load イベントから呼び出されます。

if (!IsPostBack)
    {
        AcademicProgramme programme;
        if (Request.QueryString["id"] != null)
        {
            programme = academic.GetAcademicProgramme(Request.QueryString["id"]);
            programmeName.Text = programme.Name;
            PopulateView(programme);
            GenerateTables(programme.Levels);
        }
}

そして、これがメソッド自体です(メソッドのサイズについてはお詫びします):

private void GenerateTables(int count)
{
    for (int i = 1; i < count + 1; i++)
    {
        LiteralControl title = new LiteralControl();
        LiteralControl close = new LiteralControl();
        LiteralControl close2 = new LiteralControl();
        String script = "<div class=\"ModuleProgTable\"><h3>Level " + i + "</Modules></h3></br>";

        title.Text = script;
        AcademicTable.Controls.Add(title);

        Panel panel = new Panel();
        panel.ID = "Level" + i + "Modules";

        PopulatePanel(panel, GetModulesSession(i));

        Button a = new Button();
        a.ID = "AddModule" + i;
        a.Text = "Add Module";
        a.Click += (OpenPopup);

        AcademicTable.Controls.Add(panel);
        AcademicTable.Controls.Add(a);

        close.Text = "</div> <!-- Close here -->";
        close2.Text = "</div>";

        AcademicTable.Controls.Add(close);

    }
}

ドロップダウンオプションを変更すると、必ず PostBack に表示されるため、div は明らかに入力されています。私が問題を抱えているのは、最初の page_load でそれらをレンダリングしようとしたときです。

フィードバックやアドバイスをいただければ幸いです。

よろしく、 -マイケル

4

0 に答える 0