-1

ボタンがクリックされたときに、コントロールのグループをページに追加しようとしています。同じグループのコントロールを複数回、場合によっては無限に追加する必要があります。現在、コントロールの追加ボタンのクリックは機能します。2回目、3回目、4回目などをクリックすると、正しく機能しなくなります。これは、現在ページ上にあるコントロールをオーバーライドおよび置換するため、コントロールの1つのグループのみが表示されます。

これは、コントロールを作成して追加する私のコードです。これはクリックイベントで発生します

        Label contactTypeLabel = new Label();
        contactTypeLabel.Text = "Contact Type" + contactCount.ToString();
        contactTypeLabel.ID = "contactLabel" + contactCount.ToString();
        this.panelContacts.Controls.Add(contactTypeLabel);
        DropDownList contactTypeDropDownList = new DropDownList();
        //loading dropdown
        this.panelContacts.Controls.Add(contactTypeDropDownList);
        this.panelContacts.Controls.Add(new LiteralControl("<br />"));

これは私のコントロールが追加されているパネルです。

<asp:UpdatePanel ID="UpdateContacts" runat="server">
                <ContentTemplate>
                    <asp:Panel ID="panelContacts" runat="server">

                    </asp:Panel>

                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnAddContacts" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>

私がやったことは、jQueryを使用してコントロールを作成/削除することでした。はるかに良く、簡単に動作します!

4

3 に答える 3

2

リピーターが最善の策だと思います。

http://xaeryan.blogspot.ca/2009/09/dynamically-adding-removing-textboxes.html

これにより、必要なasp.netコントロールの新しい行を動的に追加できます。

お役に立てれば、

于 2012-06-26T13:08:19.883 に答える
0

ボタンをクリックしたときに発生するすべてのポストバックでは、ページが再作成されます。リストにコントロールを追加するか、セッションまたはビューステートに類似したものを追加して、ページの状態を維持する必要があります。

したがって、ページの読み込みが発生したときに、コントロールを再度追加できます。

于 2012-06-26T13:07:29.190 に答える
-1

ASP.NETがどのように機能するかを学ぶ必要があります。これはバグなどではなく、どのように機能するかわからないだけです。ページが読み込まれるたびに、これらすべてのコントロールを追加する必要があります。以前そこにいた人と「新しい」人を追加する必要があります。なんとかして状態を保つ必要があります

于 2012-06-26T13:05:22.857 に答える