Request.Form.Count 从支付网关重定向到 ASPX 时始终为 0

Request.Form.Count always 0 when redirect to ASPX from the payment gateway

我正在 asp.net c# 中将数据发送到支付网关。除了金额和其他参数,它还要求发送 url 以便接收将由支付网关以 post 方法发送的响应。所以我发送一个 .aspx 页面作为 return url 并且一旦支付过程完成它重定向到这个页面但是 Request.Form.Count 在页面加载时总是 0 所以我不能posted 值。

我试过使用简单的 php 页面来回显所有 post 变量然后它工作正常并显示我想在 aspx 页面中捕获的所有 post 数据.当我检查浏览器时,我可以看到 Request.Method 作为页面加载事件的 Get 而不是 POST。

我不能通过提供 url 从支付网关捕获 posted 数据来使用 aspx 页面实现此目的吗?

    protected void Page_Load(object sender, EventArgs e)
    {

        lblAllFormItems.Text = "";
        lblAllFormKeys.Text = "";

        //Request.Form.Count = 0 , Not going inside loop
        foreach (string key in Request.Form)
        {
            string value = Request.Form.Get(key);

            if (value != String.Empty)
            {
                lblAllFormKeys.Text += "<br><b>" + key + "</b>";
                lblAllFormItems.Text += "<br>" + value;
            }
        }
    }

这可能是由 Friendly Urls 引起的。将支付网关配置为在没有 .aspx 扩展名的情况下调用您的页面。

对于登陆这里的其他人,另请参阅 why-is-my-asp-net-form-arriving-empty