Я пытаюсь отправить ViewModel в контроллер, используя форму, но когда вызывается метод в контроллере, все свойства ViewModel имеют значение null.
Вот моя виртуальная машина:
public class CheckoutViewModel
{
public Customer Customer { get; set; }
public CreditCard CreditCard { get; set; }
public ShippingAddress ShippingAddress { get; set; }
public IEnumerable<ShoppingCartItem> ShoppingCartItems { get; set; }
}
В моем контроллере у меня есть два метода Checkout, один из которых не принимает параметров, а другой принимает CheckoutViewModel
. Вот подписи:
public IActionResult Checkout()
[HttpPost]
public IActionResult Checkout(CheckoutViewModel checkoutViewModel)
В моей Checkout.cshtml
моя форма выглядит так:
<form class="form-group" method="post" asp-controller="Order" asp-action="Checkout">
<label asp-for="ShippingAddress.Address1"></label>
<input class="form-control" asp-for="ShippingAddress.Address1" type="text" name="Address1" value="" />
<label asp-for="ShippingAddress.Address2"></label>
<input class="form-control" asp-for="ShippingAddress.Address2" type="text" name="Address2" value="" />
<div class="form-row">
<div class="col">
<label asp-for="ShippingAddress.City"></label>
<input class="form-control" asp-for="ShippingAddress.City" type="text" name="City" value="" />
</div>
<div class="col">
<label asp-for="ShippingAddress.State"></label>
<input class="form-control" asp-for="ShippingAddress.State" type="text" name="State" value="" />
</div>
</div>
/*
More inputs for CreditCard, etc...
*/
</form>
Любая идея, почему все свойства в моем контроллере равны нулю ? Спасибо!