Frage

Aus einer Klassischen ASP-hintergrund bin ich auf mehrere Formulare auf einer Seite, aber das ist eindeutig zu begrenzen ASP.NET Seite.

Ich habe jedoch eine situation, wo ich über eine form, die für Benutzereingaben, speichert die Daten in einer DB, und später will ich zum Rendern (und optimieren Sie die Werte von) eine spezielle form, die Beiträge zu der PayPal Webseite.

Wenn das PayPal-Formular-Feld-Werte statisch waren, würde es kein problem sein, aber da will ich zum Bearbeiten des Formular-server-Seite (die Sie optimieren die Menge, Beschreibung, Preis, Felder usw.) mit diesem wird zu einem problem werden.

Ich überlegte Umleitung auf eine andere Seite nach dem schreiben an die DB, und ich vermute, dass dies funktionieren würde ziemlich gut, aber es ist ein wenig zusätzlichen Aufwand, dass möglicherweise unnötig.

Es wurde auch vorgeschlagen, zu mir, ich könne programmgesteuert zu Rendern einer anderen form, je nachdem, wo im Zyklus ich bin., Dass ist, verwenden Sie einen Platzhalter, und auf Page_Load ich möchte hinzufügen, ein DB-Form (komplett mit untergeordneten Steuerelemente) anfangs-und das PayPal-Formular nach einem Postback.

Dieses Szenario hat sich zu einer gemeinsamen einen für Euch Jungs, ich bin auf der Suche für Meinungen, Ratschläge und alle relevanten code-Beispiele, wenn Sie haben bevorzugte Ansatz.

Ich weiß, dass ich kann erhalten durch, aber dieses Projekt ist ein Lern-Fahrzeug, so möchte ich annehmen, was passiert, zum besten der Praxis.

Vielen Dank im Voraus...

Chris

War es hilfreich?

Lösung

Sie können mehrere Formen, es ist einfach nur eine form haben können, die runat="server" Attribut.

Es gibt eine Reihe von Antworten auf immer PayPal zur Arbeit;aber da es eine Lern-Fahrzeug, die betrügen.In aller Ehrlichkeit, ich würde Blick auf die volle-geblasen PayPal-API anstatt mit der Methode der etwas vereinfachte form (mit dem zusätzlichen Vorteil, dass es sollte gestreckt werden, mehr zu lernen).

Ansonsten ja, richten Sie ein HTML-Formular außerhalb der server-side-Formular, und fügen Sie ein literal in es und schreiben der bits und Stücke.

Andere Tipps

Ein grundlegender Ansatz ist die Verwendung von zwei panels auf der Seite - eine für die erste und einen anderen für die zweite.

Sie können ändern der visibility-Eigenschaft dieser Platten je nachdem, welche form Sie anzeigen möchten (während der page_load-oder zu irgendeiner Zeit vor dem Rendern).

Vielleicht bin ich Missverständnis der Frage, aber kannst du nicht einfach habe 2 divs in das Formular ein, in denen nur eine sichtbar ist jederzeit möglich.z.B.

<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>

Dann, in btnSubmitFirst_Click:

 doSubmissionToPaypal.visible=True
 getUserInput.visible = false

Etwas in diese Richtung?

Eine Problemumgehung für dieses paypal ist die Verwendung der Paypal-Integration-Code Paypal ist nicht immer die freundlich zu integrieren.Die harte Arbeit ist im Grunde genommen für Sie gemacht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top