Есть форма для добавления товара в корзину:
@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?? И, как из хелпера можно решить эту проблему??
В Вашем коде вызывается не тот перегруженый вариант Ajax.BeginForm
, на который Вы рассчитывали. К перечисленным параметрам подходит
public static MvcForm BeginForm(this AjaxHelper ajaxHelper, string actionName, object routeValues, AjaxOptions ajaxOptions, object htmlAttributes)
а нужен
public static MvcForm BeginForm(this AjaxHelper ajaxHelper, string actionName, string controllerName, object routeValues, AjaxOptions ajaxOptions, object htmlAttributes)
Из вариантов с четырьмя параметрами компилятором выбран такой, в котором типы Ваших значений могут быть приведены к ожидаемым. Cтрока "Cart"
в этом случае рассматривается как object routeValues
- обратите внимание на свойство Length=4
после ?
в адресной строке. А контроллер берется текущий.
Правильно:
@using (Ajax.BeginForm("AddCart", "Cart", null,
new AjaxOptions { UpdateTargetId = "res" }, new { style = "margin-top: 20px" }))
{
...
}
Нужна помощьКак узнать, какой размер шрифта (свойство FontSize) в Label будет максимальным для полного отображения (без каких-либо обрезаний букв...
Есть массив и список такого же типаВ цикле я изменяю массив и после каждого изменения добавляю его в список (по окончанию цикла хочу получить...