asp.net中的Paypal表单标记问题

时间:2013-09-30 09:10:17

标签: asp.net c#-4.0 button paypal

大家好我在装载asp.net时遇到了问题

我已经使用母版页面的子页面在materpage中有一个表单标签我在子页面中添加了一个paypal按钮,这在主页面表单标签中也很重要

主页<form id="form1" runat="server"></form>

中的

和支持

 <form id="form2" runat="server" name="Paypal" action="https://www.paypal.com/cgi-bin
          /webscr"
              method="post">
              <input type="hidden" name="cmd" value="_cart" />
              <input type="hidden" name="upload" value="1" />
              <input type="hidden" name="business" value="
   <%=System.Web.Configuration.WebConfigurationManager.AppSettings["email"] %>
    " />
  <input type="hidden" name="item_name_1" value="<%=Session["ItemName"].ToString()%>" 
       />
  <input type="hidden" name="amount_1" value="<%=Session["ItemCost"].ToString() %>"/>
  <input type="hidden" name="quantity_1" value="1" />
  <input type="hidden" name="currency_code" value="USD" />
  <input type="hidden" name="return" value="<%=Session["returnUrl"].ToString() %>"/>
  <input type="hidden" name="lc" value="Stronger" />
  <input type="image" src="images/paynow.png" border="0" name="submit" alt="Make
         payments with PayPal - it's fast, free and secure!"
           style="background: url(images/update-account.png);"/>
</form>

我在下面的子页面上发现了这个错误

'/ Project'应用程序中的服务器错误。 一个页面只能有一个服务器端的Form标签。 描述:执行当前Web期间发生未处理的异常 请求。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

异常详细信息:System.Web.HttpException:一个页面只能有一个服务器端的Form标记。

任何人都知道如何在子页面中使用表单标签。

3 个答案:

答案 0 :(得分:1)

请检查您的aspx / html页面上写了多少<form>个标签。确保您没有在此页面上使用母版页。

答案 1 :(得分:0)

您好我找到了这个解决方案,其工作解决方案如下:

<form name="Paypal" action="https://www.paypal.com/cgi-bin/webscr"
                                method="post" target="_blank"></form>
                                <form name="Paypal" action="https://www.paypal.com/cgi-bin/webscr"
                                method="post">
              <input type="hidden" name="cmd" value="_cart" />
              <input type="hidden" name="upload" value="1" />
              <input type="hidden" name="business" value="
   <%=System.Web.Configuration.WebConfigurationManager.AppSettings["email"] %>
    " />
  <input type="hidden" name="item_name_1" value="<%=Session["ItemName"].ToString()%>" 
       />
  <input type="hidden" name="amount_1" value="<%=Session["ItemCost"].ToString() %>"/>
  <input type="hidden" name="quantity_1" value="1" />
  <input type="hidden" name="currency_code" value="USD" />
  <input type="hidden" name="return" value="<%=Session["returnUrl"].ToString() %>"/>
  <input type="hidden" name="lc" value="Stronger" />
  <input type="image" src="images/paynow.png" border="0" name="submit" alt="Make
         payments with PayPal - it's fast, free and secure!"
           style="background: url(images/update-account.png);"/>
</form>

此代码可以正常使用。

答案 2 :(得分:0)

如果您在MasterPage下,只要您在表单内部使用表单标记,只需删除它,删除导致SUBMIT的隐藏输入,然后使用以下ImageButton:

<asp:ImageButton ID="cmdpay" runat="server" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" Text=""  ImageUrl="images/paynow.png" ></asp:ImageButton>

它有效