Question

Venant d'un arrière-plan ASP classique, je suis habitué à plusieurs formulaires sur une page, mais cela est clairement limité dans une page ASP.NET.

Toutefois, j'ai un formulaire qui rassemble les entrées de l'utilisateur, enregistre les données dans une base de données, puis je souhaite restituer (et modifier les valeurs de) un formulaire spécial qui est publié sur le site Web de PayPal. .

Si les valeurs de champ du formulaire PayPal étaient statiques, il n'y aurait aucun problème, mais puisque je souhaite manipuler le formulaire côté serveur (pour modifier les champs quantité, description, prix, etc.), cela va être un problème.

J'envisageais de rediriger vers une page différente après avoir écrit dans la base de données, et je suppose que cela fonctionnerait assez bien, mais il faut un peu d'effort supplémentaire qui peut s'avérer inutile.

On m'a également suggéré de pouvoir restituer par programmation une forme différente, en fonction de l'endroit où je suis dans le cycle. Autrement dit, utilisez un espace réservé et, sur Page_Load, j’ajouterais initialement un formulaire de base de données (avec les contrôles enfants), puis le formulaire PayPal après une publication.

Ce scénario doit être courant pour vous, je recherche donc des avis, des conseils et des exemples de code pertinents si vous avez une approche préférée.

Je sais que je peux me débrouiller, mais ce projet est un véhicule d'apprentissage et je souhaite donc adopter ce qui convient le mieux aux meilleures pratiques.

Merci d'avance ...

Chris

Était-ce utile?

La solution

Vous pouvez avoir plusieurs formulaires. Un seul formulaire peut avoir l'attribut runat = " server " .

Il existe de nombreuses solutions pour que PayPal fonctionne; mais comme c'est un véhicule d'apprentissage qui peut tricher. En toute honnêteté, je regarderais l’API complète de PayPal plutôt que d’utiliser la méthode du formulaire un peu simpliste (avec l’avantage supplémentaire qu’elle devrait permettre d’approfondir vos connaissances).

Sinon, configurez un formulaire HTML en dehors du formulaire côté serveur, ajoutez-y un littéral et écrivez les éléments qu'il contient.

Autres conseils

Une approche de base consiste à utiliser deux panneaux sur la page - un pour le premier formulaire et un autre pour le second.

Vous pouvez modifier la propriété de visibilité de ces panneaux en fonction du formulaire à afficher (pendant le chargement de la page ou à tout moment avant le rendu).

Peut-être que je comprends mal la question, mais vous ne pouvez pas simplement avoir 2 divs dans le formulaire, où un seul est visible à tout moment. par exemple

<form id="Form1" method="post" runat="server">
    <div id="getUserInput" visible="true">
          <asp:button id="btnSubmitFirst" />
    </div>
    <div id="doSubmissionToPaypal" visible="false">
          <asp:button id="btnSubmitSecond" />
    </div>
</form>

Ensuite, dans btnSubmitFirst_Click:

 doSubmissionToPaypal.visible=True
 getUserInput.visible = false

Quelque chose dans ce sens?

Une solution de contournement pour ce paypal consiste à utiliser le code d'intégration Paypal comme Paypal n'est pas toujours le plus convivial à intégrer. Le travail acharné est essentiellement fait pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top