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

时间:2019-04-29 15:29:51

标签: c# asp.net payment-gateway

我正在将数据发送到asp.net c#中的付款网关。除金额和其他参数外,它还要求发送一个url,以接收将由post方式由付款网关发送的响应。因此,我发送了一个.aspx页面作为返回URL,一旦付款过程完成,它就会重定向到该页面,但是在页面加载时Request.Form.Count始终为0,因此我无法拥有已发布的值。

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

我不能通过使用aspx页面通过提供URL来捕获来自支付网关的已发布数据来实现此目的吗?

    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;
            }
        }
    }

1 个答案:

答案 0 :(得分:4)

这可能是由友好的Urls引起的。配置付款网关以调用不带.aspx扩展名的页面。

对于在此居住的其他人,也请参见why-is-my-asp-net-form-arriving-empty