4

私の登録ページには、PayPal ボタンに移動するための次のコードがあります。しかし、ボタンをクリックすると、ページが更新されるだけです。

彼らは私が見逃しているものですか?aspx ページにペイパル ボタンを含めることができるはずですか?

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Panel runat="server" ID="pnlRegisterPage" CssClass="registerPage">
        <table>
          <tr>
            <td><p>Plain text</p></td>
            <td>
                <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
                <input type="hidden" name="cmd" value="_s-xclick">
                <input type="hidden" name="hosted_button_id" value="Z8TACKRHQR722">
                <table>
                <tr><td><input type="hidden" name="on0" value="Registration Type">Registration Type</td></tr><tr><td><select name="os0">
                    <option value="Team">Team $80.00</option>
                    <option value="Individual">Individual $40.00</option>
                </select> </td></tr>
                </table>
                <input type="hidden" name="currency_code" value="USD">
                <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
                <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
                </form>
            </td>
        </tr>
    </table>

</asp:Panel>
</asp:Content>

マスターページ

<body>
    <form id="form1" runat="server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>
    <div class="masterbody">
        <center>
            <asp:Image runat="server" ID="imgLogo" ImageUrl="" /></center>
        <div class="menubar">
            <div class="loginview">                                   
            <asp:LoginView ID="MenuBar" runat="server">
                <AnonymousTemplate>                                                             
                </AnonymousTemplate>
                <LoggedInTemplate>
                </LoggedInTemplate>
            </asp:LoginView>
            </div>
        </div>        
        <div>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
    </div>

    <div class="footer"></div>
    </form>        
</body>
4

6 に答える 6

6

マスター ページは、ContentPlaceHolder1 が ASP.NET runat="server" フォーム内にあることを示しているため、その領域内に PayPal フォームを配置することはできません。PayPal フォームが他のフォーム内に入らないように配置する必要があります。

ここにある可能な解決策: http://www.codersbarn.com/post/Solution-to-ASPNET-Form---PayPal-Problem.aspxしかし、ポストバック イベントをオンにすることはできないと思いますフォームのレンダリングが無効になっているページ。

于 2010-04-27T16:17:51.783 に答える
1

私が好む解決策は、Javascript を介して修正を行うことです。

他の回答で述べられているように、問題は .Net フォームに埋め込まれた PayPal ボタンのフォームにあり、PayPal フォームが正しい場所に送信されません。

これを回避するには、PayPal フォーム要素を削除し、Javascript を使用して .Net フォームのアクションを PayPal を指すように変更し、クリック時に送信します。

元のコードに次の変更を加える必要があります。

  • <form> タグが削除されました
  • 入力送信画像が「img」タグに変更されました
  • メイン画像に onclick が追加されました。最初にフォーム アクションを PayPal を指すように変更し、次にフォームを送信します。
  • ボタンの外観を維持するために「cursor:pointer」スタイルが追加されました

結果の PayPal ボタン コード:

<input type="hidden" name="cmd" value="_s-xclick"
<input type="hidden" name="hosted_button_id" value="xxxxxxxx">
<img style="cursor:pointer;" alt="PayPal – The safer, easier way to pay online." border="0" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_subscribeCC_LG.gif" onclick="document.forms[0].action='https://www.paypal.com/cgi-bin/webscr';document.forms[0].submit();" />
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
于 2014-04-10T23:15:39.020 に答える
1
Its simple, Just add another ContentPlaceHolder in mater page use this content place holder for paypal button. Like this:
 Master Page

<body>
    <form id="form1" runat="server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>
    <div class="masterbody">
        <center>
            <asp:Image runat="server" ID="imgLogo" ImageUrl="" /></center>
        <div class="menubar">
            <div class="loginview">                                   
            <asp:LoginView ID="MenuBar" runat="server">
                <AnonymousTemplate>                                                             
                </AnonymousTemplate>
                <LoggedInTemplate>
                </LoggedInTemplate>
            </asp:LoginView>
            </div>
        </div>        
        <div>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
    </div>

    </form>        
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
            </asp:ContentPlaceHolder>

</body>


<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    past paypal button code here:

                <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
                <input type="hidden" name="cmd" value="_s-xclick">
                <input type="hidden" name="hosted_button_id" value="Z8TACKRHQR722">
                <table>
                <tr><td><input type="hidden" name="on0" value="Registration Type">Registration Type</td></tr><tr><td><select name="os0">
                    <option value="Team">Team $80.00</option>
                    <option value="Individual">Individual $40.00</option>
                </select> </td></tr>
                </table>
                <input type="hidden" name="currency_code" value="USD">
                <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
                <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
                </form>
    </asp:Content>
于 2016-03-10T17:53:32.787 に答える
0

最初の PayPal ボタン行</form>の直前に終了タグを配置します。 それは私のために働いた<form>

于 2012-09-29T21:55:19.090 に答える
0
<asp:ImageButton ID="ImageButton1" runat="server"
   ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif"
   PostBackUrl="https://www.paypal.com/cgi-bin/webscr" />

画像ボタンを使用してこの問題を解決できます。詳しくはこちら

于 2014-01-13T09:39:19.917 に答える
0

PayPal API 統合の例を確認しましたか?このサンプルが役立つかもしれません。

于 2010-04-27T16:33:18.040 に答える