Frage

ich mehrere Bedienelemente haben, lassen Sie uns sagen A, B, C und D. Basierend auf einem zufälligen Eingang, ich brauche eine Kombination aus diesen zu erzeugen. Für z.B. wenn der Eingang 2a3d1a2c ist brauche ich zwei der A des zeigen, 3 D's danach, ein A wieder usw.

ich muß auch clientid die um Stabilisierung für sie richtig zu arbeiten. Da jedes dieser Steuerelemente verwenden, um ihre eigenen ClientID Eigenschaft, um die Eingaben auf sich selbst zu sammeln. Für z.B. Eine Benutzersteuerung erzeugt intern einen Eingang this.ClientID + "$input1" benannt und sammelt seine Eingabe von der Anfrage wie Request[this.ClientID + "$input1"]. Da es mehr als ein A, A jeweils die gleiche (unique) ClientID nach dem Postback haben, um braucht korrekte Eingaben von Anfrage zu erhalten.

War es hilfreich?

Lösung

Um Steuerelemente dynamisch hinzufügen, können Sie ein Panel als Platzhalter verwenden, sagen

<asp:Panel ID="ControlPlaceholder" runat="server" />

Dann auf der Serverseite können Sie Objekte, um es wie so hinzufügen:

int controlCount = 0;

...

TextBox newTextBox = TextBox();
newTextBox.ID = "ctl_" + controlCount++;
ControlPlaceholder.Controls.Add(newTextBox);

Wenn Sie die Steuerelemente, um es während des Page_Load Ereignis hinzufügen und eine konsistente Methode der Kontrollen IDs zu erzeugen (wie eine der einfache Zählung oben), werden alle Ansichtszustand oder Ereignisbindungen nach rechts Objekt neu gebunden werden, auf ein Postbacks.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top