Как я могу использовать Bootstrap Carousel в качестве списка для записей БД?

я немного искал, и мне действительно нужно знать, как использовать класс начальной загрузки 4 Carousel Как список некоторых данных модели?

я пытался управлять самостоятельно, и я сделал что-то вроде этого в представлении:

@model IEnumerable<ElMatrodySite.Models.NewsData>
<link href = "~/Content/Home.css" rel = "stylesheet" />
@{
    ViewBag.Title = "Home Page";
}

<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<style>
  /* Make the image fully responsive */
  .carousel-inner img {
    width: 100%;
    height: 100%;
  }
</style>
<div class = "container">
    <div style = "width:100%;height:150px;padding-top:0px; direction:rtl;">
        <div class = "row">
            <div class = "col-xl-4">
                <img src = "~/photos/Logo.png" class = "mx-auto d-block" style = "height:250px;"/>
            </div>
            <div class = "col-xl-8" style = "text-shadow:0px 4px 10px #808080; color:#352c5e;">
                <br />
                @if (Request.IsAuthenticated)
                {
                    ElMatrodySite.Models.ApplicationUser Apps = new ElMatrodySite.Models.ApplicationUser();
                    <h2 class = "mx-auto d-block text-center" id = "ccword">مرحبًا بك @Apps.Firstname في موقع أسرة المطرودي !</h2>
                }
                else
                {
                    <h2 class = "mx-auto d-block text-center" id = "ccword">مرحبًا بكم في الموقع الرسمي الجديد لأسرة المطرودي !</h2>
                }
            </div>
        </div>
    </div>
</div>
<div class = "row" style = "direction:rtl;">
    <div class = "container">
        <div class = "col-xl-6" style = "padding-top:150px;" id = "xcard">
            <div id = "myCarousel" class = "carousel slide" data-ride = "carousel">

                <ol class = "carousel-indicators">
                    @{
                        int i = 0;
                    }
                    @foreach (var item in Model)
                    {
                        <li data-target = "#myCarousel" data-slide-to = "@i" class = "@(i == 0 ? "active" : "")"></li>
                        i++;
                    }
                </ol>

                <div class = "carousel-inner">
                    @{
                        i = 0;
                    }
                    @foreach (var item in Model)
                    {
                        <div class = "item @(i == 0 ? "active" : "")">
                            <img src = "~/NewsPhotos/@item.file" class = "image img-responsive">
                            <div class = "carousel-caption">
                                <h3>@item.ArticleTitle</h3>
                            </div>
                        </div>
                        i++;
                    }
                </div>
                <a class = "left carousel-control" href = "#myCarousel" data-slide = "prev">
                    <span class = "glyphicon glyphicon-chevron-left"></span>
                    <span class = "sr-only">Previous</span>
                </a>
                <a class = "right carousel-control" href = "#myCarousel" data-slide = "next">
                    <span class = "glyphicon glyphicon-chevron-right"></span>
                    <span class = "sr-only">Next</span>
                </a>
            </div>
        </div>
    </div>
</div>

это неправильно, потому что каждому элементу в списке нужен идентификатор в data-slide-to а также один из них должен быть active, но при работе с foreach можно получить список данных.

это код в контроллере:

[HttpGet]
        public ActionResult Index()
        {
            List<NewsData> slideList = new List<NewsData>();
            using (MatrodyEntities db = new MatrodyEntities())
            {
                var type = new NewsData();
                slideList = db.NewsData.Where(xx => xx.ArticleID == type.ArticleID).Take(5).ToList();
                return View(from NewsData in db.NewsData.ToList() select NewsData);
            }
        }

Поскольку я беру последние 5 элементов, добавленных в базу данных.

поэтому мне нужен небольшой учебник, чтобы составить список Carousel с помощью asp.net mvc, не разрушая весь дизайн.

«Поскольку я беру последние 5 элементов, добавленных в базу данных». нет. Вы получаете последние 5 элементов в переменной, которую вы используете никогда

Camilo Terevinto 08.04.2019 00:40

@CamiloTerevinto, как использовать это в представлении?

user10979311 08.04.2019 00:44
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
490
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я понимаю, вы хотите получить список данных из базы данных и хотите использовать bootstrapCarousel. Как я заметил в вашем методе действий, вы получаете последние 5 записей и не передаете их для просмотра, вместо этого вы используете

return View(from NewsData in db.NewsData.ToList() select NewsData);

Вы можете использовать напрямую

return View(slideList);

И, на ваш взгляд, вы можете использовать модель list, как показано ниже.

    <div id = "myCarousel" class = "carousel slide" data-ride = "carousel">

    <ol class = "carousel-indicators">
        @{
            int i = 1;
        }
        @foreach (var item in Model)
        {
            <li data-target = "#myCarousel" data-slide-to = "@i" class = "@(i == 1 ? "active" : "")"></li>
            i++;
        }
    </ol>

    <div class = "carousel-inner">
        @{
            i = 1;
        }
        @foreach (var item in Model)
        {
            <div class = "item @(i == 1 ? "active" : "")">
                <img src = "@item.ImagePath" class = "image img-responsive">
                <div class = "carousel-caption">
                    <h3>@item.Title</h3>
                </div>
            </div>
            i++;
        }
    </div>
    <a class = "left carousel-control" href = "#myCarousel" data-slide = "prev">
        <span class = "glyphicon glyphicon-chevron-left"></span>
        <span class = "sr-only">Previous</span>
    </a>
    <a class = "right carousel-control" href = "#myCarousel" data-slide = "next">
        <span class = "glyphicon glyphicon-chevron-right"></span>
        <span class = "sr-only">Next</span>
    </a>
</div>

Я попробовал ваше решение, но когда я запускаю его, в браузере ничего не отображается, я проверил страницу с помощью CTRL+Shift+C, и там нет ничего, связанного с каруселью, что-то вроде кода делает его скрытым

user10979311 08.04.2019 15:23

Я также разместил полный код представления в вопросе выше, можете ли вы проверить его, пожалуйста?

user10979311 08.04.2019 15:27

Убедитесь, что данные поступают из базы данных и slideList не пусто. Для справки я создал фрагмент кода, перейдите по этой ссылке dotnetfiddle.net/b0HFUE

Aquib Iqbal 08.04.2019 16:27

вау спасибо большое спасибо! вся чертова проблема была в CDN, который я использовал для начальной загрузки и jquery

user10979311 08.04.2019 16:37

но к сожалению новый CDN повлиял на оформление , есть ли способ сделать так чтобы этот cdn влиял только на карусель ? и еще один cdn для остальной части страницы?

user10979311 08.04.2019 16:38

Другие вопросы по теме