MVC core View hittar inte controller??

Permalänk

MVC core View hittar inte controller??

Tjohoo! Behöver tips här för jag har fastnat och har ingen aning om hur jag felsöker problemet,

Enligt denna knapp försöker jag hitta min Checkout method i OrderControllern, får dock felmeddelande:

Sidan på localhost kan inte hittasDet fanns ingen webbsida på webbadressen: https://localhost:44312/Customer/Order/Checkout HTTP ERROR 404

Min method i Controllern:

[HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Checkout(Order order) { List<Products> products = HttpContext.Session.Get<List<Products>>("products"); if (products != null) { foreach (var product in products) { OrderDetails orderDetails = new OrderDetails(); orderDetails.ProductId = product.Id; order.OrderDetails.Add(orderDetails); } } order.OrderNo = GetOrderNumber(); _db.Orders.Add(order); await _db.SaveChangesAsync(); HttpContext.Session.Set("products", new List<Products>()); return View(); }

Samt knappen:

<a asp-area="Customer" asp-action="Checkout" asp-controller="Order" class="btn btn-success">Checkout</a>

Googlade lite och läste att det kan ha att göra med [ValidateAntiForgeryToken] attributen men fanns inte något om någon lösning, har någon stött på samma problem eller har ni några tips på hur jag kan lösa detta?

Permalänk
Medlem

Tror du måste ha med följande på knappen.

asp-routing-order="@Model.Din-order-modell"

Visa signatur

There is always a price to pay for convenient

Permalänk

Visade sig att jag glömde en [Area("Customer")] längst upp i klassen!

Permalänk
Medlem

Varför har du en a-tag som gör ett post anrop? Om länken ska gå igenom webbläsare så bör det vara en get?
Har du delat rätt kod från controllern? Om inte så bör det vara en i en form med en submit.