2011-02-16 4 views
0

Je suis relativement nouveau sur les webforms asp.net, je suis donc ouvert aux suggestions de toutes sortes.Comment poster manuellement dans un répéteur?

Je suis la liste des produits avec un répéteur. Avec chaque produit ressemble à quelque chose comme ceci:

<ItemTemplate> 
    <div class="actionbutton_normal actionbutton_cart" onmouseover="actnbut_hover($(this))" onmouseout="actnbut_out($(this))" onclick="actnbut_click($(this))"> 
     <asp:CheckBox Checked="false" class="actnbox_hidden" ID="chkCart" runat="server" AutoPostBack="True" /> 
    </div> 
</ItemTemplate> 

Comme vous pouvez le voir la case à cocher lui-même est caché et il est utilisé pour représenter l'état de l'icône. Je modifie l'attribut Vérifié de la case à cocher dans javascript dans la fonction actnbut_click. Le problème avec ceci est que le fait de cocher la case dans javascript n'active pas l'autopostback, (et je pense que ça ne le fait même pas dans le viewstate, mais je ne suis pas sûr). J'ai essayé de poster manuellement mais je ne suis pas capable de comprendre comment le faire correctement car l'identifiant de la case à cocher est généré par le répéteur.

Dans l'ensemble, je veux cette fonctionnalité: il y a quelques éléments, sous eux sont des boutons (favoris, ajouter au panier, sélectionnez pour comparsion, etc) avec de belles animations de survol et de clic sur eux. Si je les clique, je veux que la logique serveur soit exécutée (en fonction du bouton sur lequel je clique sous quel élément, par exemple ajouter au panier doit ajouter l'élément spécifique au panneau du panier, ou en cliquant sur fav devrait accéder à la base de données valeur par un, et ajouter l'élément aux favoris des utilisateurs), mais en préservant l'état des objets sur la page, y compris l'état des boutons (cliqué ou non).

Quelle serait la meilleure façon de procéder?

Répondre

0

appel __doPostBack (controlName, options) de javascript.

+0

Le problème est, que je ne suis pas sûr de controlName, puisque je suis dans un répéteur et il est en quelque sorte autogénéré. – SoonDead

+0

Utilisez les options pour transmettre commandName et commandValue. Pour tester, créez une page simple avec un répéteur et une case à cocher à l'intérieur. Ajoutez commandName et commandValue pour cocher la case et voir le script généré par .net à partir de la source de la page. Cela donnera une idée de la manière dont le répéteur est posté. – hungryMind

Questions connexes