Request.Form.Count всегда 0 при перенаправлении в ASPX с платежного шлюза - PullRequest
4 голосов
/ 29 апреля 2019

Я отправляю данные на платежный шлюз в asp.net c #. Наряду с количеством и другими параметрами, он также просит отправить URL-адрес, чтобы получить ответ, который будет отправлен платежным шлюзом методом post. Поэтому я отправляю страницу .aspx в качестве URL-адреса возврата, и после завершения процесса оплаты он перенаправляет на эту страницу, но Request.Form.Count всегда равен 0 при загрузке страницы, поэтому у меня не может быть опубликованных значений.

Я попытался использовать простую страницу php, которая отображает все переменные записи, а затем она работала нормально и отображала все данные записи, которые, я полагаю, собираю на странице aspx. Когда я проверяю браузер, я вижу 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 Ответ

4 голосов
/ 29 апреля 2019

Возможно, это связано с дружественными URL.Сконфигурируйте платежный шлюз так, чтобы он вызывал вашу страницу без расширения .aspx.

Для тех, кто находится здесь, см. Также Why-is-my-asp-net-form-прибывающий-пустой

...