ASP.NET - 在内容页面中使用SagePay表单方法

本文关键字:SagePay 方法 表单 NET ASP | 更新日期: 2023-09-27 18:30:29

我有一个 ASP.NET 网站,需要将一些隐藏的表单字段发布到SagePay,以便我的客户可以支付商品费用。我使用以下方法来执行此操作:

<input type="hidden" name="VPSProtocol" value="2.23" />
<input type="hidden" name="Currency" value="gbp" />
<input type="hidden" name="TxType" value="PAYMENT" />
<input type="hidden" name="Vendor" value="myvendorname" />
<input type="hidden" runat="server" id="crypt" name="Crypt" value="@<encrypted string>" />
<asp:Button ID="Button1" runat="server" Text="Pay Now" PostBackUrl="https://live.sagepay.com/gateway/service/vspform-register.vsp"/>

现在,如果我在标准 ASP.NET 形式中使用此代码,则可以正常工作 - SagePay接受发布的信息并继续付款过程。但是,如果我在带有母版页的内容页面中使用相同的代码,Sagepay 将显示以下错误屏幕:

5030:我们无法处理您的消息,请检查您的 集成设置或联系支持团队。

似乎隐藏的字段由于母版页而失去了其值。

谁能告诉我这里会发生什么,以及我是否可以做些什么来纠正这种情况。我需要使用 SagePay 表单方法,并且需要使用母版页。

ASP.NET - 在内容页面中使用SagePay表单方法

我已经有

一段时间没有使用网络表单了,但默认情况下,它会根据元素的容器更改元素的名称,以允许导航和识别服务器端:MSDN 文档在这里。

这意味着您发布的值不在您希望的名称下。