Mediator
Mediator

Reputation: 15378

How redirected user with method POST?

How to redirect a user from the action with POST request?

I have:

public ViewResult AddMoneyOnPay()
        {
            Onpay onpay = new Onpay();
            onpay.convert = "yes";
            onpay.pay_mode = "fix";
            onpay.price_final = "true";

            return View(onpay);
        }

View:

@using (Html.BeginForm("AddMoneyOnPay", "Transaction", FormMethod.Post))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Onpay</legend>
        <div class="editor-field">
            @Html.EditorFor(model => model.pay_mode)
            @Html.ValidationMessageFor(model => model.pay_mode)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.price)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.price)
            @Html.ValidationMessageFor(model => model.price)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.currency)
            @Html.ValidationMessageFor(model => model.currency)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.pay_for)
            @Html.ValidationMessageFor(model => model.pay_for)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.md5)
            @Html.ValidationMessageFor(model => model.md5)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.convert)
            @Html.ValidationMessageFor(model => model.convert)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.url_success)
            @Html.ValidationMessageFor(model => model.url_success)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.url_fail)
            @Html.ValidationMessageFor(model => model.url_fail)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.user_email)
            @Html.ValidationMessageFor(model => model.user_email)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.note)
            @Html.ValidationMessageFor(model => model.note)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.one_way)
            @Html.ValidationMessageFor(model => model.one_way)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.price_final)
            @Html.ValidationMessageFor(model => model.price_final)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.direct_no)
            @Html.ValidationMessageFor(model => model.direct_no)
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

action POST

[HttpPost]
        public ViewResult AddMoneyOnPay(Onpay onpay)
        {
            string secretKEy = "fH12312IO";
            onpay.md5 = GetHash(string.Format("{0};{1};{2};{3};{4}", onpay.pay_mode, onpay.price, onpay.currency, onpay.pay_for, onpay.convert, secretKEy));
            //SEND POST to url http://paysite.ru/blablabla
        }

Upvotes: 1

Views: 347

Answers (1)

Roy Dictus
Roy Dictus

Reputation: 33139

Have your AddMoneyOnPay method return an ActionResult and then write:

return Redirect(returnUrl);

Upvotes: 1

Related Questions