2009-03-17 4 views
1

Je suis un peu perplexe ...je dois intégrer une application web asp.net existant dans une autre page en utilisant la méthode load() de jquery

Je dois intégrer un des formulaires Web existants, asp.net simples application, y compris les publications, etc. dans un autre site externe avec un appel jquery load(), une application qui devait être intégrée via un iframe. Je doute que ce soit possible sans une réécriture de l'application.

L'application est un questionnaire de base qui conduit l'utilisateur à une suggestion de produit à la fin.

Quelqu'un at-il des pointeurs sur la façon dont je pourrais résoudre ce problème? Je suppose que je devrais probablement réécrire l'application avec des services Web et des appels dynamiques à RenderUserControls, j'aurai aussi besoin d'accéder à la page qui appelle load() et écrire des méthodes jQuery supplémentaires pour gérer l'entrée de l'utilisateur ... J'aurai probablement supprimer tous les appels postback d'asp.net et réécrire le traitement de l'entrée de l'utilisateur?

Des conseils ou des idées d'aide? Je souhaite que je pourrais déjà débourser une prime pour cela parce que c'est plutôt urgent.

Répondre

1

Tout d'abord vous devriez noter que la fonction load(), comme tout ajax, ne peut fonctionner que sur le même domaine. Donc, si le 'site externe' est sur un autre domaine ajax est le mauvais choix.

Cela semble beaucoup de travail, selon la complexité de la page. Les publications peuvent avoir lieu dans de nombreux endroits - clics d'image, sélections de combos, etc. Il existe également des champs cachés à s'inquiéter, tels que les états View et Event - ceux-ci portent les mêmes noms sur les deux pages. Vous aurez plus de facilité si le site externe n'a pas d'état et de publication.

Si les pages sont relativement simples, cela peut probablement être fait. D'après mon expérience, les formulaires ne fonctionnent pas bien sous d'autres formes, vous devrez donc supprimer l'un d'entre eux (probablement le formulaire de la page chargée) ou les placer l'un après l'autre. Comme vous l'avez mentionné, vous devrez réécrire les publications, vous aurez besoin de serialize les données. Vous pouvez modifier cette chaîne pour qu'elle corresponde aux noms de la page d'origine (si vous avez modifié le nom de viewstate, etc., il est plus facile de le modifier sur la chaîne sérialisée que de modifier les IDs), publiez-la sur la page d'origine, et charger à nouveau. Personnellement, autant que j'aime jQuery, et autant que ce projet semble intéressant (et c'est le cas), j'irais probablement pour une solution côté serveur. Il semble beaucoup plus facile de créer un contrôle utilisateur (qui peut utiliser ajax lui-même), ou d'exposer la fonctionnalité de la page en utilisant des services Web ou, mieux, des gestionnaires génériques.

Questions connexes