2008-11-28 16 views
2

Je sais qu'il y a un problème similaire sur ce forum, mais les solutions n'ont pas vraiment fonctionné pour moi. Je remplis des contrôles de formulaire avec des champs provenant de quelques sources de données différentes, et les données se révèlent très bien.ASP.Net Form Problèmes Databound

J'ai un contrôle ImageButton, qui a un ensemble d'événements OnClick pour saisir toutes les données du formulaire. Malheureusement, lorsque je clique sur le bouton, il semble que la page est en train de recharger en premier, et THEN exécute l'appel OnClick. Les données qui ont été saisies à la main, ou codées en dur semblent être tirées bien des contrôles, mais tout ce qui a été tiré d'une source de données ne peut pas être lu. Des idées. C'est le dernier obstacle d'un projet sur lequel je travaille depuis 6 mois.

+0

poster votre code de chargement Page_Load. –

Répondre

0

Parlez-vous de dropdowns ou gridviews? Quand liez-vous les données, au chargement de la page?

Une bonne conception sera vous liez vos données sur la charge de la page, mais seulement dans

if(!isPostBack){ 
    dropdown.databind() 
    gridview.databind() 
}. 

Sinon, il rebind chaque chargement de page. Si ce n'est pas rechargement, vous pouvez obtenir des valeurs sélectionnées à partir de ces contrôles si c'est ce que vous cherchez.

Une alternative consiste à définir votre source de données et votre base de données dans votre page aspx avec un objet source de données. Cela automatise le ci-dessus automatiquement.

0

En fait, il s'agit de champs cachés, de listes déroulantes, d'étiquettes et de champs de texte. Je viens d'essayer de faire la liaison dans le init, et le load, mais pas de dés. Quand j'ai essayé de le lier sur !isPostBack seulement, aucun des champs ne s'est montré.

Je pense que l'un des principaux problèmes est que l'ensemble de données que j'obtiens provient d'un appel de méthode vers une API. Je reçois très bien les données, mais il arrive par programmation, alors je dois également effectuer tous les contrôles par programmation. Aimeriez-vous voir le code pour des idées? Merci d'aider, personne ne travaille aujourd'hui!

Jason

+0

S'il vous plaît modifier votre question au lieu d'afficher une réponse –

0

Avez-vous activé viewstate sur vos contrôles? La publication d'exemples de code contribuerait grandement à résoudre votre problème.

0

Lorsque vous cliquez sur un fond dans asp.net tout d'abord toute la page Événements se déroulent comme Page_Load et ... et puis l'événement se produit (dans ce cas Click). Mais parce que tout se charge à nouveau, je pense que vous avez un !isPostback dans votre code que vous utilisez pour lier les données, vous devez supprimer cela afin d'obtenir vos données à chaque fois. Ou si ce n'est pas la solution s'il vous plaît poster un peu de code et plus de description pour le problème