d'abord:Comment ajouter l'article à Répéteur commande manuellement
- _ddlOptions est liste déroulante
- _selectedOptions est le contrôle répéteur
et il est juste code provisoire de mon contrôle final.
Ce que je veux faire est d'obtenir des données pour _ddlOption sur! IsPostBack. Un bouton Ajouter permet à l'utilisateur de déplacer l'élément déroulant sélectionné vers le contrôle du répéteur.
Il la façon suivante de mettre à jour Repeater.Items correct? J'ai trouvé beaucoup de solutions d'ajout/suppression d'éléments manuellement en utilisant DataSource, mais ici mon DataSource est nul, comme je l'ai mis seulement sur! IsPostBack.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
_ddlOptions.DataSource = new[] { 1, 2, 3 };
_ddlOptions.DataBind();
}
}
protected void OnAdd(object sender, EventArgs e)
{
var list = new ArrayList(_selectedOptions.Items);
list.Add(_ddlOptions.SelectedItem);
_ddlOptions.Items.RemoveAt(_ddlOptions.SelectedIndex);
_selectedOptions.DataSource = list;
_selectedOptions.DataBind();
}
Hmm, je pense qu'il vous manque un point. Je vais chercher des données seulement une fois sur IsPostBack et plus tard je ne vais pas stocker la source de données. J'utilise le mécanisme ViewState pour que les contrôles restaurent leur contenu. – dragonfly