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

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

我不能通过提供从支付网关捕获已发布数据的 url 来使用 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;
            }
        }
    }

最佳答案

这可能是由友好网址引起的。配置支付网关以在没有 .aspx 扩展名的情况下调用您的页面。

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

关于c# - 从支付网关重定向到 ASPX 时,Request.Form.Count 始终为 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55906471/

10-14 20:52
查看更多