javascript - MVC - 布局加载部分 View ,但不触发 javascript

标签 javascript jquery ajax asp.net-mvc-4

我的共享页面布局,_CustomerLayout.cshtml 具有:

 <div class="navbar-collapse collapse">
      @Html.Partial("_LoginPartial")
 </div>

_LoginPartial.cshtml 具有:

<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>

BadgeIcon 是我想要在每个 View 中显示的内容,因此我编写了一个脚本,该脚本将从数据库中获取当前用户的购物车,动态计算购物车总数量,然后在 中返回 .ajax >#BadgeIcon div

位于_LoginPartial.cshtml末尾的脚本是:

@section scripts
{
<script>     //never gets triggered

    $(document).ready(function () {
        $.ajax({
            type: "POST",
            url: '@Url.Action("getCartCount", "ShoppingCart")',
            success: function (data) {
                $('#BadgeIcon').html(data);
            }
        })
    });

</script>
}

还从 ShoppingCartController 发布此代码片段:

[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);
    }

正如您所知,我远不是 MVC 方面的专家,因此我们将不胜感激任何有关这方面的帮助。

最佳答案

发布 Pravin Tukadiya 和 Jasen 找到的答案:

已添加

<script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

_LoginPartial.cshtml并删除

@section scripts{
}

关于javascript - MVC - 布局加载部分 View ,但不触发 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664609/

相关文章:

javascript - Angular - 如何根据某些特定检查来减少数组?

php - jQuery POST 值到 PHP 脚本

php - ajax 响应的事件处理程序(多选下拉列表)

javascript - 如果条件为真,Jquery 添加 css 属性

Javascript三级组合

javascript - JQuery 事件导致页面重新加载。怎么修?

javascript - 如何忽略 HTML 匹配中的隐藏对象?

jquery - 从模态中检索 html 并通过脚本将其转换为字符串

jquery - CSS3 动画不会在 removeClass 和 addClass 上再次播放,但会在 toggleClass 上改变

ajax - 如何在Cakephp中检索Ajax发送的数据?