2010-08-31 6 views
0

J'ai deux listes déroulantes sur une page. La première liste les projets et la seconde les utilisateurs de la liste.Liste déroulante Liée Modifie le premier élément de la liste

La liste d'utilisateurs est remplie avec un objet objet qui tire une liste d'utilisateurs pour le projet sélectionné.

Chaque fois que la sélection de la liste de projets change, la deuxième liste utilisateur ddl revient à la première personne de la liste à la place de la personne sélectionnée avant la sélection d'un nouveau projet.

Je souhaite être en mesure de sélectionner un nouveau projet et de ne pas modifier la personne sélectionnée dans la liste UserList.

Répondre

1

Vous devez stocker l'ID de l'utilisateur actuellement sélectionné avant de procéder à la liaison de données. Une façon serait de gérer SelectedIndexChanged sur votre Projet ddl afin que vous puissiez saisir l'identifiant de l'utilisateur de l'élément sélectionné dans votre User ddl puis faire la liaison manuellement. Une fois la liaison terminée, vous pouvez essayer de définir la valeur SelectedValue du ddl sur l'ID utilisateur que vous avez stocké.

EDIT: Ajout d'un exemple:

Dans votre ASPX:

<asp:DropDownList ID="projectddl" runat="server" AutoPostBack="true" OnSelectedIndexChanged="projectddl_SelectedIndexChanged"> 
    <asp:ListItem Text="Project 1" Value="1" /> 
    <asp:ListItem Text="Project 2" Value="2" /> 
    <asp:ListItem Text="Project 3" Value="3" /> 
</asp:DropDownList> 

    <asp:DropDownList ID="usersddl" runat="server"> 
    </asp:DropDownList> 

Dans votre code-behind:

protected void projectddl_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string currentlySelectedUserId = usersddl.SelectedValue; 

    // Do your user databinding here based on project selected 

    usersddl.SelectedValue = currentlySelectedUserId; 
} 
+0

Alors quel événement dois-je utiliser pour obtenir l'utilisateur sélectionné? et lequel dois-je utiliser pour définir l'utilisateur sélectionné? –

+0

Edité pour donner un exemple. – DavidGouge

+0

Je suis un peu confus. le ProjectList a un contrôle objectdatasource. Recouvre-t-il chaque fois que vous modifiez l'élément sélectionné? –

Questions connexes