Meine freigegebenen Seitenlayout nicht auslöst, _CustomerLayout.cshtml
hat:MVC - Teilansicht für Layout-Lasten, aber Javascript
<div class="navbar-collapse collapse">
@Html.Partial("_LoginPartial")
</div>
Die _LoginPartial.cshtml
hat:
<ul class="nav navbar-nav navbar-right">
<li>@Html.ActionLink("Hello, " + User.Identity.Name + "!", "UserProfile", "Home")</li>
<li>
<a href="~/ShoppingCart/Index" id="ShoppingCartSpace"><i class="fa fa-shopping-cart" aria-hidden="true" id="ShoppingCartIcon"></i></a>
<span class="badge" id="BadgeIcon"></span>
</li>
<li>
<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
</li>
</ul>
Die BadgeIcon ist, was ich angezeigt werden soll In jeder Ansicht habe ich also ein Skript erstellt, das den Warenkorb des aktuellen Benutzers aus der Datenbank nimmt, die Gesamtmenge des Einkaufswagens im laufenden Betrieb berechnet und dann die Rückgabe im #BadgeIcon
div
Das Skript am Ende _LoginPartial.cshtml
gelegen ist:
@section scripts
{
<script> //never gets triggered
$(document).ready(function() {
$.ajax({
type: "POST",
url: '@Url.Action("getCartCount", "ShoppingCart")',
success: function (data) {
$('#BadgeIcon').html(data);
}
})
});
</script>
}
Auch diese Schnipsel aus dem ShoppingCartController Posting:
[HttpPost]
public ActionResult getCartCount()
{
var user = db.Users.FirstOrDefault(x => x.UserName == HttpContext.User.Identity.Name);
var cartCount = user.ShoppingCarts.FirstOrDefault().ShoppingCartProducts.Sum(x => x.Quantity);
return Json(cartCount);
}
Wie Sie sehen können, habe ich weit von einem Experten auf MVC bin, so dass jeder Hilfe dabei wäre sehr willkommen.
Gibt es irgendwelche Skriptfehler in der Debug-Konsole? – Jasen