2009-09-28 6 views
2

J'ai des problèmes avec l'édition listview (contrôle serveur asp.net 3.5). Je veux accomplir la tâche suivante. Lorsque vous cliquez sur le bouton Modifier dans ma liste, je veux ouvrir la fenêtre de dialogue où je peux modifier les informations de l'utilisateur. La boîte de dialogue est une boîte de dialogue jquery standard.Listview modifier l'élément

Problème que j'ai lorsque je clique sur le bouton d'édition, le bouton d'édition déclenche la publication. Y a-t-il un moyen de pouvoir ouvrir ma boîte de dialogue sans publication, tout en conservant l'identifiant "CommandArgument" dans la boîte de dialogue.

dans mon modèle d'élément listview Je suit

<asp:LinkButton CommandName="Edit" id="lbEditUser" CommandArgument='<%#Eval("id") %>' runat="server" >Edit</asp:LinkButton>  

et dans mon code derrière

protected void lvUsers_OnItemCommand(object sender, ListViewCommandEventArgs e) 
{ 

    if (String.Equals(e.CommandName, "Edit")) 
    { 
     var member = Member.GetMemberFromLoginName(lbEditUser.CommandArgument); 
     // code 

    } 

} 

Répondre

1

Vous devez changer votre bouton Modifier pour appeler une fonction côté client qui ouvre votre fenêtre jQuery, puis renvoie false. Retourner false annulera la publication. Vous pouvez passer votre argument de commande en tant que paramètre à votre fonction client, ou alternativement l'ajouter ailleurs sur la page où vous pouvez y accéder avec javascript.

Quelque chose comme ceci:

<asp:LinkButton CommandName="Edit" id="lbEditUser" 
OnClientClick='myJavascript(<%#Eval("id") %>); return false;' 
runat="server">Edit</asp:LinkButton>