2010-03-15 3 views
0

Je travaille sur une application Asp.net/C#. Je veux lier une liste d'objets à une vue de grille. J'ai regardé un certain temps le contrôle ObjectDataSource et il charge des données à mon datagrid dès que ma page se charge. Puis-je changer ce comportement? Par exemple, comment puis-je définir DataBinding uniquement lorsqu'un clic est effectué sur un bouton de ma page?Événement de liaison de données ObjectDataSource d'Asp.net

TKS

Répondre

0

Vous pouvez créer le ObjectDataSource dans le code derrière et faire la liaison onclick.

+0

mauvaise idée, parce que vous risquez de perdre les avantages que vous obtenez en utilisant l'ODS. – citronas

1

Vous pouvez vous connecter à l'événement de sélection ObjectDataSource et annuler les sélections qui ne correspondent pas aux critères que vous recherchez. Je fais cela tout le temps en fonction des valeurs des autres contrôles.

Regardez la propriété e.Cancel pour cet événement.

1

Ne pas définir la source de données dans le balisage et simplement le faire dans le code-behind sur l'événement OnClick du bouton.

Programatically, vous pouvez spécifier l'objet à lier à comme indiqué dans la réponse à cette question ...

ASP.NET 2.0: Specifying an instance of an object for an ObjectDataSource

+0

Cette méthode fonctionne pour moi aussi. Je l'ai décrit dans ma réponse à cette question: http://stackoverflow.com/questions/831208/databind-and-postback/3015512#3015512 – PeterFromCologne

Questions connexes