Страница не перенаправляется, mvc

В настоящее время я работаю над проектом в MVC, и мне нужно передать данные из представления в контроллер, поэтому я сделал это с помощью ajax, однако при нажатии кнопки (значение триггера отправляется на контроллер) Страница не перенаправляется на следующую страницу ( Отрезервирования_step_1 до резерва_шаг_2) вместо этого он ничего не делает, но значение передается соответствующему действию контроллера (полученному с помощью reserve_step_1 и отправляемому в reserve_step_2).

Действия моего контроллера:

    [HttpPost]
    [ValidateInput(false)]
    public ActionResult reservation_step_1(string x)
    {
        string val = x;
        return RedirectToAction("reservation_step_2", "Home", new { val = val });
    }

    [HttpGet]
    public ActionResult reservation_step_2(string val)
    {
        string rat = val;
        ViewBag.totda = rat;
        return View();
    }

Мой взгляд:

<body>
    <img src="~/images/maxresdefault.jpg" style="width:1457px; height:325px; margin-left: -160px;" />
    <br />
    <br />
    <br />
    <table class="table">
        @foreach (var item in Model)
        {
            {
            <div class="tabcolumn-container" style="height: 90px; border: 1px solid grey">

                <div class="tabcolumn30 frame" style="margin-top: 0px; margin-bottom: 0px;">
                    <div style="height: 35px; background-color: grey;">
                        <p style="font-size: 22px; font-weight: bold">@item.group_category</p>
                    </div>
                    <span class="helper">

                        <img src="~/images/@item.image_path" />

                    </span>
                </div>
                <div class="tabcolumn50">

                    <div style="height: 40px; border-bottom: 1px solid grey; border-left: 1px solid grey; border-right: 1px solid grey">
                        <p>&emsp;&emsp;&emsp;100kms per day&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.standard_100.00<br />(per day)"/>&emsp;Standard Cover&emsp;&emsp;&emsp;&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.super_100.00<br />(per day)" />&emsp;Upgrade to Super Cover</p>
                    </div>

                    <div style="height: 40px; border-bottom: 1px solid grey; border-left: 1px solid grey; border-right: 1px solid grey">
                        <p>&emsp;&emsp;&emsp;200kms per day&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.standard_200.00<br />(per day)" />&emsp;Standard Cover&emsp;&emsp;&emsp;&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.super_200.00<br />(per day)" />&emsp;Upgrade to Super Cover</p>
                    </div>

                    <div style="height: 40px; border-bottom: 1px solid grey; border-left: 1px solid grey; border-right: 1px solid grey">
                        <p>&emsp;&emsp;&emsp;400kms per day&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.standard_400.00<br />(per day)" />&emsp;Standard Cover&emsp;&emsp;&emsp;&emsp;&emsp;<input type="checkbox" class="slectOne" data-id="R @item.super_400.00<br />(per day)" />&emsp;Upgrade to Super Cover</p>
                    </div>

                    <div style="height: 55px; display: table; border-left: 1px solid grey; background-color: grey; width: 569px; border-right: 1px solid grey">

                    </div>
                    <input type="hidden" value="" id="rate" name="crate">
                </div>

                <div class="tabcolumn20" style="height: 160px">
                    <p style="font-size: 14px; text-align: center">Pick-up location: In Branch</p>
                    <p style="font-size: 14px; text-align: center">Fuel Policy: Full to Full</p>
                    <p id="currentRate" style="padding-left: 10px; padding-right: 10px; font-size: 18px; font-weight: bold; margin-top: 10px; text-align: center" class="result">Please choose cover to continue</p>

                    <input type="submit" onclick="getRate(); " value="Book Now!" style="height: 56px; background-color: yellow; width: 227.66px; border-style: none" />

                </div>
            </div>
            <br />
                }
            }
    </table>

    <script>
                        function getRate()
                        {
                            var cr = document.getElementById("currentRate").innerHTML;
                            var a = cr.substring(0, cr.length - 16);
                            var b = a.substring(2);

                            $.post("/Home/reservation_step_1  ", { x: b });
                        }
    </script>

    <script>
                        $(document).ready(function () {
                            $('.slectOne').on('change', function () {
                                $('.slectOne').not(this).prop('checked', false);

                                let result = $('.result', $(this).closest('.tabcolumn-container'));
                                result.html($(this).is(":checked") ? $(this).data("id") : '');
                            });
                        });
    </script>
</body>

Он действительно работает с помощью помощников HTML (с использованием (Html.BeginForm ("Booking_step_1", "Home", FormMethod.Post))), но затем передача данных с помощью помощников ajax и html одновременно выполняет цикл действия дважды и вызывает значения ajax превратиться в нуль.

Любая помощь в том, как я могу сохранить значения ajax для передачи соответствующему контроллеру и перенаправления в соответствующее представление?

Вызов ajax вернет ответ html, вам нужно будет вернуть URL-адрес, на который требуется перенаправление, и перенаправить через js

Ehsan Sajjad 10.08.2018 16:07

@EhsanSajjad window.location.href='@Url.Action("ActionName","ControllerNa‌​me")'; что-то в этом роде?

Daniel 10.08.2018 16:16
0
2
23
0

Другие вопросы по теме