加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在aspx页面中添加Paypal购买按钮

发布时间:2020-12-16 07:35:07 所属栏目:asp.Net 来源:网络整理
导读:嗨伙计们,我是贝宝的新手.我有一个沙盒测试项目onpaypal并创建了一个 item购买按钮,内嵌html代码.. 现在每当我在aspx页面中插入html代码时,它都不会重定向到paypal网站. 也许是因为覆盖html代码的表单标签.. 这是项目的paypal购买按钮的代码 form action="ht
嗨伙计们,我是贝宝的新手.我有一个沙盒测试项目onpaypal并创建了一个
item购买按钮,内嵌html代码..
现在每当我在aspx页面中插入html代码时,它都不会重定向到paypal网站.
也许是因为覆盖html代码的表单标签..
这是项目的paypal购买按钮的代码

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="3GWR6RV47BCVE">
<input type="image" src="https://www.paypalobjects.com/en_GB/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.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>

现在有人请帮助,我在普通的HTML文件中尝试了这个代码并且它工作但是只要我把它放在aspx上的表单runat服务器标签它重定向页面到它自己..谢谢.

解决方法

问题是ASP.NET页面定义了一个表单,其中放置了所有控件(特别是如果您使用的是母版页)并且HTML不允许嵌套的表单标记.

有几种方法可以解决这个问题,包括使用正常的ASP图像按钮,如here所述.

您也可以使用此blog中所述的锚链接.但是,如作者所述,用户可以保存页面源,编辑它(例如更改价格),然后重新加载它并单击链接.

事实上,任何将信息存储在网页源中的方法都有可能被滥用.因此,我喜欢的方法是使用ASP图像按钮和锚链接方法的组合,但要在按钮单击事件中的服务器上实现此方法:

1)在ASP页面中定义一个图像按钮,您可以在其中输入PayPal按钮.您可以将ImageURL设置为PayPal提供的首选按钮类型.

<asp:ImageButton
    ID="PayPalBtn"
    runat="server"
    ImageUrl="https://www.paypalobjects.com/en_GB/i/btn/btn_buynow_LG.gif"
    onclick="PayPalBtn_Click" />

2)使用按钮的Click事件在服务器端生成所需信息,然后将浏览器重定向到PayPal站点.

protected void PayPalBtn_Click(object sender,ImageClickEventArgs e)
{
    string business = "<insert your paypal email or merchant id here>";
    string itemName = "<insert the item name here>";
    double itemAmount = 123.451;
    string currencyCode = "GBP";

    StringBuilder ppHref = new StringBuilder();

    ppHref.Append("https://www.paypal.com/cgi-bin/webscr?cmd=_xclick");
    ppHref.Append("&business=" + business);
    ppHref.Append("&item_name=" + itemName);
    ppHref.Append("&amount=" + itemAmount.ToString("#.00"));
    ppHref.Append("&currency_code=" + currencyCode);

    Response.Redirect(ppHref.ToString(),true);
}

免责声明:用户可能仍然可能滥用这种方法(虽然现在有点困难),因此最好在发货前检查已支付的费用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读