J'essaie de remplir mon modèle qui est membre du modèle de vue, J'envoie des données à partir de l'action pour afficher.C'est le travail correct. mais lorsque vous cliquez sur le bouton de sauvegarde, obtenez une erreur quiRemplissez mon modèle de m viewModel en mvc
La référence d'objet n'est pas définie sur une instance d'un objet.
Le modèle de vue est
public class OrderCustomer
{
public Order Order { get; set; }
public ApplicationUser ApplicationUser { get; set; }
}
Et l'action pour les données post est
[HttpPost]
public ActionResult AddressAndPayment(OrderCustomer values)
{
var orderCustomer = new OrderCustomer();
var order = orderCustomer.Order;
string uId = User.Identity.GetUserId();
order.Username = User.Identity.Name;
order.ApplicationUserId = uId;
order.OrderDate = DateTime.Now;
order.Address = values.ApplicationUser.Address;
order.CityId = (int)values.ApplicationUser.CityId;
order.CountryId = (int)values.ApplicationUser.CountryId;
order.Email = values.ApplicationUser.Email;
order.FirstName = values.ApplicationUser.FName;
order.LastName = values.ApplicationUser.LName;
order.Phone = values.ApplicationUser.Phone;
order.PostalCode = values.ApplicationUser.PostalCode;
order.ProvinceId = (int)values.ApplicationUser.ProvinceId;
if (ModelState.IsValid)
{
TryUpdateModel(order);
try
{
_db.Orders.Add(order);
_db.SaveChanges();
var cart = ShoppingCart.GetCart(this.HttpContext);
cart.CreateOrder(order);
return RedirectToAction("Index", "Payment", new { id = order.Id });
}
catch
{
return View(order);
}
}
return View(order);
}
quand débogueur arrive sur ce code montrent la ligne d'erreur 5 dans le code ci-dessus qui montrent en dessous, comment puis-je le réparer?
order.Username = User.Identity.Name;
peut-être la demande n'est pas authentifié donc il n'y a pas de jeu d'identité - regardez dans votre code auth ou définir un principe anonyme comme celui-ci https://stackoverflow.com/ questions/2893334/invalidating-asp-net-formesauthentication-côté serveur – mchan
'order' est' null'. vous n'attribuez pas d'instance à cette propriété – Nkosi