Redirect with POST parameters in MVC 4 for Payment Gateway Integration

后端 未结 3 1670
难免孤独
难免孤独 2021-01-20 20:14

I am trying to do a payment gateway integration using mvc4 in razor. In that i need to call a page with prefilled post form.

Using the below method, I am forming th

相关标签:
3条回答
  • 2021-01-20 20:29

    I suggest you to create an Action with form which receives a Model in parameters. Then, just pass model when you redirect to this Action

    [HttpPost]
    public ActionResult OrderSummary()
    {
        return RedirectToAction("OrderForm", new { HashData = hashData });
    }
    
    [HttpGet]
    public ViewResult OrderForm(string hashData)
    {
        OrderFormModel model = new OrderFormModel();
        model.HashData = hashData;
        return View(model);
    }
    
    [HttpPost]
    public ActionResult OrderForm(OrderFormModel model)
    {
        if(ModelState.IsValid)
        {
            // do processing
        }
    }
    
    0 讨论(0)
  • 2021-01-20 20:37

    You cannot post a form by Redirect method. You could send generated form string to View and after that post the form by Javascript.

    public ActionResult OrderSummary()
    {
        string request=PreparePOSTForm("payment URL","hashdata required for payment")
        return View(model:request);
    }
    

    and in View of OrderSummary:

    @model string
    
    @Html.Raw(Model)
    
    <script>
        $(function(){
           $('form').submit();
        })
    </script>
    
    0 讨论(0)
  • 2021-01-20 20:38

    You can do it with JavaScript.

    Make a page which does have a html form and submit it through javascript and put your information as input:hidden in the form.

    This will submit the data to the another place you want. Doing it in html gave you more control and you doesn't need to write a action like shown in other answer for every redirect in your app.

    0 讨论(0)
提交回复
热议问题