Задать вопрос
@JoraInTheSky

Ajax.BeginForm не правильно генерирует Action?

Есть форма для добавления товара в корзину:

@using (Ajax.BeginForm("AddCart","Cart" , new AjaxOptions { UpdateTargetId = "res" }, new { style = "margin-top: 20px" }))
    {
        <div class="text-center">
            @Html.HiddenFor(r => r.Id)
            <input type="submit" class="btn btn-for-product" value="Добавить в корзину" />
        </div>
    }

Вот что генерируется в итоги:
<form action="/Products/AddCart?Length=4" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#res" id="form0" method="post" style="margin-top: 20px" novalidate="novalidate">        <div class="text-center">
            <input data-val="true" data-val-number="Значением поля Id должно быть число." data-val-required="Требуется поле Id." id="Id" name="Id" type="hidden" value="24">
            <input type="submit" class="btn btn-for-product" value="Добавить в корзину">
        </div>
</form>

Ключевое тут в том что action="/Products/AddCart?Length=4", а должно action="/Cart/AddCart". В хелпере указан контроллер Cart и метод действия AddCart. А хелпер генерирует странный action. У меня вопрос, почему хелпер формирует странный action?? И, как из хелпера можно решить эту проблему??
  • Вопрос задан
  • 231 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@JoraInTheSky Автор вопроса
Нужно:
@using (Ajax.BeginForm("AddCart", "Cart", null, new AjaxOptions { UpdateTargetId = "res" }, new { style = "margin-top: 20px" }))
{
  ...
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы