ASP.NET MVC 5 - skrpyt się nie wyświetla

0

Hej, chciałem dodać do swojego projektu skrypt który wyświetli małe okno ze szczegółami produktu - z tutoriala (widoczne okno : ). Minuta filmu 16:07. Lecz mimo wszystkiego okno ze skryptem po najechaniu się nie pojawia się nie pojawia. Po przejściu pod adres "Product/ViewProductDetails?id=1 zwraca mi widok, ale w pełnowymiarowym oknie.
Kod który posiadam do wyświetlenia okna:
ProductController.cs :

public ViewResult ViewProductDetails(int id)
        {
            List<Product> list = repository.Products.Where(x => x.ProductID == id).ToList();
            Product product = new Product();
            if (list.Count > 0)
            {
                product = list[0];
            }
            return View(product);
        }

Widok dla metody akcji ViewProductDetails:

@model WebShop.Models.Product
@{
    ViewBag.Title = "EmployeeInfo";
}
<div class="container">
    <h4 style=" text-align:center;border-bottom:1px solid #808080">Szczegóły produktu</h4>
        <p><label>Nazwa : </label> @Model.Name</p>
        <p><label>Opis : </label>@Model.Description</p>
        <p><label>Dostępność : </label> @Model.Quantity</p>
        <p><label>Cena : </label> @Model.Price.ToString("c")</p>
</div>

Oraz widok w którym znajduje się kod skryptu:

  @model List<WebShop.Models.Product>

@{
    ViewBag.Title = "Produkty";
}
    <div class="btn-group pull-right">
        @for (int i = ViewBag.StartItem; i < ViewBag.EndItem; i++)
        {
            <div class="well">
                <h3>
                    <strong>@Model[i].Name</strong>

                    <span class="pull-right label label-primary">@Model[i].Price.ToString("c")</span>
                    <span class="lead">@Model[i].Description</span>
                </h3>
            </div>
            <a href="#" data-toggle="popover" data-trigger="hover" id="@Model[i].ProductID">"@Model[i].ProductID</a>
        }
        @if (ViewBag.page == 0 && ViewBag.IsNextPageExist)
        {
            <a href="@Url.Action("List2", new { page = ViewBag.page + 1 })"
               class="btn btn-default">
                Następna »
            </a>
        }
        else
        {
            if (ViewBag.page > 0)
            {
                <a href="@Url.Action("List2", new { page = ViewBag.page - 1 })"
                   class="btn btn-default">
                    « Poprzednia
                </a>
            }
            if (ViewBag.IsNextPageExist)
            {
                <a href="@Url.Action("List2", new { page = ViewBag.page + 1 })"
                   class="btn btn-default">
                    Następna »
                </a>
            }
        }
    </div>
    <script src="~/Scripts/jquery-3.4.1.min.js"></script>
    <script>
        $(document).ready(function () {
            $('[data-toggle="popover"]').popover({
                title: setData,
                html: true,
                placement: 'right'

            });
            function setData(id) {
                var set_data = '';
                var element = $(this);
                var id = element.attr("id");
                $.ajax({
                    url: "/Product/ViewProductDetails?id" + id,
                    method: "post",
                    async: false,
                    data: { id: id },
                    success: function (data) {
                        set_data = data;
                    }

                });
                return set_data;
            }
        });
    </script>

Myślałem, że może da się to jakoś zdebugować, ale mimo pozostawienia bp działanie się nie zatrzymuje
Z góry dzięki za pomoc

0

A w consoli co widac?

0

Najlepiej debugować JS w samej przeglądarce. Odpal F12 w Chrome -> Sources wybierz swój skrypt i tam postaw breakpoint'a. Przy okazji powiedz czy konsola w przeglądarce coś krzyczy tak jak mówi poprzednik.

0

Nie che mi się oglądać tutoriala ale jak zwracasz widok ze szczegółami to moim zdaniem powinno użyć się return PartialView

0

Konsola krzyczy : Uncaught TypeError: $(...).popover is not a function
at HTMLDocument.<anonymous> (List2:60)
at e (jquery-3.4.1.min.js:2)
at t (jquery-3.4.1.min.js:2)
Fakty, że w wymienionym filmie był użyta bibliotetka w wersji 1.10.2 a ja w projekcie dodałem 3.4.1, ponieważ taką miałem domyślnie w projekcie

1 użytkowników online, w tym zalogowanych: 0, gości: 1