Есть форма для добавления товара в корзину:
@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?? И, как из хелпера можно решить эту проблему??