c# - 在 C# 代码隐藏中创建和发布表单的最佳方式

标签 c# asp.net http-post code-behind

我正在使用网络表单,我需要创建和 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);

这确实有效,但是否有更好/替代的方法来做到这一点?

最佳答案

除了之前的建议:

  • 为什么不(更简单)Button.PostbackUrl工作?

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

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

嗯。

关于c# - 在 C# 代码隐藏中创建和发布表单的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897404/

相关文章:

c# - 在 Visual Studio 中添加对 MSComctlLib 的引用

c# - ABAddressBook 已弃用,如何使用 ABAddressBook.Create 方法?

c# - Cocoa (MonoMac) & WinForms (or WPF) frontend with common c# backend

c# - 将图像导出为 CSV

angular - 如何将 url 参数(查询字符串)传递给 ionic 3 上的 HTTP POST 请求

php - 在 Laravel Controller 中检索 GET 和 POST 数据

c# - C# 向字典中添加数据

c# - SpreadsheetGear 在构造函数内抛出 IndexOutOfRangeException

javascript - AJAX Post 从未进入 ASP.Net Controller

Java HttpURLConnection 没有 cookies