1

我正在使用网络表单,我需要为我的一个客户创建一个支付网关POST的 http 。form我正在使用一个显示在母版页中的用户控件,但是它们已经<form>在页面上存在,所以我很确定我不能添加另一个。

从后面的代码在 C# 中创建和发布表单的最佳实践方法是什么?目前我有以下内容:

var nvc = new System.Collections.Specialized.NameValueCollection
    {
        {"EWAY_ACCESSCODE", ewayResponse.AccessCode},
        {"EWAY_CARDNAME", txtCcName.Text},
        {"EWAY_CARDNUMBER", txtCcNumber.Text},
        {"EWAY_CARDEXPIRYMONTH", ddlCcExpMonth.SelectedValue},
        {"EWAY_CARDEXPIRYYEAR", ddlCcExpYear.SelectedValue},
        {"EWAY_CARDCVN", txtCcv.Text}
    };

    var client = new WebClient();
    client.UploadValues(ewayResponse.FormActionURL, nvc);

这确实有效,但是有更好/替代的方法吗?

4

2 回答 2

4

除了之前的建议:

  • 为什么(更简单的)Button.PostbackUrl不起作用?

    <asp:Button ID="externalPost" runat="server" PostBackUrl="http://www.somewhere.com/" Text="Post Somewhere" />
    

此外,假设您指的是支付网关,您正在执行服务器端 POST,这对PCI 合规性有影响(与来自客户端/浏览器的直接表单发布相比)。

嗯。

于 2013-11-11T03:16:54.920 回答
1

这是我使用的解决方案:

http://jerschneid.blogspot.com/2007/03/hide-form-tag-but-leave-content.html

警告(自己的博客文章):

http://codersbarn.com/post/2008/03/08/Solution-to-ASPNET-Form-PayPal-Problem.aspx

于 2013-11-11T01:19:10.657 回答