Avatar billede pfp Nybegynder
24. april 2006 - 17:07 Der er 6 kommentarer og
1 løsning

Implementer egen form på side

Hej,

Jeg har en side som nedarver fra en MasterPage. I dennes contentplaceholder vil jeg nu gerne indsætte min egen formular (formular til opkobling mod betalingsgateway).

Så jeg har:

<asp: Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server>

<form id="Betaling" action"LINK_TIL_MIT_GATEWAY" method="post" autocomplete="off">
    <!-- EN RÆKKE INPUT FELTER OG EN SUBMIT BUTTON -->
</form>
<asp:Content>

Når jeg kører siden, indtaster data og trykker submit får jeg:

"Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true" /> in configuration...For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally redered them..."

For det første virker min form ikke rigtig, bl.a. er autocomplete IKKE disabled.

Det jeg måske tror sker er:
Når jeg kalder mit gateway tjekker den om det er ACCEPT eller DECLINE. Jeg har i min form angivet en accepturl og declineurl. Gatewayen smider så enten accept eller decline url'en retur med nogle GET parametre om transaktionen retur.

Opstår fejlen fordi en "fremmed side" prøver at manipulere min QueryString (jvf. ovenstående) eller hvad kan der være galt?

Nogen der har et forslag til hvordan jeg løser problematikken?

På forhånd mange tak for enhver hjælp..

/pfp
Avatar billede dj_uncas Nybegynder
24. april 2006 - 19:31 #1
Prøv at sætte ValidateRequest="false" i dit <%@ Page %> direktiv...
Avatar billede pfp Nybegynder
24. april 2006 - 20:04 #2
Det giver samme fejl..Hvis jeg sætter EnableEventValidation="false" i direktivet, så poster den slet ikke?
Avatar billede snepnet Nybegynder
25. april 2006 - 22:54 #3
problemet er nok nærmere, at du har en form defineret på din masterpage, og den renderes med en action="densideduerpå.aspx".
den form du arbejder med på din contentpage bliver så en nestet form, og dit post går til det der er angivet som action på din ydre form.
mvh
Avatar billede snepnet Nybegynder
25. april 2006 - 22:55 #4
eller rettere ... grunden til at du overhovedet får ballade med dit post er - at du poster til din asp.net form, og ikke til din gateway.
mvh
Avatar billede snepnet Nybegynder
25. april 2006 - 23:01 #5
du kan i din master lave sådan noget som det her:
<body>
    <form id="form1" runat="server"  >
    <div>
        <asp:contentplaceholder id="cph1" runat="server">
        </asp:contentplaceholder>
    </div>
    </form>
    <asp:contentplaceholder id="cph2" runat="server">
    </asp:contentplaceholder>
</body>

og du kan så i din contentpage gøre sådan her:

<asp:Content ID="c1" ContentPlaceHolderID="cph2" Runat="Server">
<form id="betaling" action="din gateway url" method="post">
<input type="text" id="nogettext" />
<input id="b1" type="submit" value="button" />
</form>
</asp:Content>

så kan du i hvert fald få postet til din gateway.

mvh
Avatar billede pfp Nybegynder
09. august 2006 - 23:28 #6
Tak. Læg venligst et svar.
Avatar billede snepnet Nybegynder
09. august 2006 - 23:38 #7
Kommer her :o)
Mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester