Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 1
Регистрация: 04.05.2013
Сообщений: 11
1

Реализация автоматической смены отображаемого контента

24.08.2013, 00:32. Показов 1480. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я недавно начал изучать asp.net, поэтому прошу не кидаться тапками если моя терминология не юзер-френдли

Предположим, в представлении есть html таблица из 2 столбцов и БД, данные из которой получает класс News (да-да, я с новостной лентой пришел Вас мучить).
Контроллер передает модели представления 2 коллекции объектов класса News. В одной коллекции содержится некоторое количество элементов класса News, во втором - только один объект класса News - выбранный из списка на основе свойства PostDate (выбирается последний по времени). В правую часть html таблицы помещаются заголовки переданной коллекции и время их добавления в базу. В левую часть html таблицы помещается заголовок+тело новости+картинка.
Выбор источника для левой части таблицы происходит следующим образом:
- при нажатии на заголовок новости из правого списка;
- последняя по времени размещения новость из переданной коллекции (значение по умолчанию);

Т.е. реализован список заголовков-ссылок новостей и возможность их полноценного просмотра.
А вот теперь собственно вопрос: как реализовать автоматическое переключение отображаемого контента в левой части html таблицы? Т.е. я хочу, чтобы каждые n-секунд выбиралась следующая новость из списка и происходила смена показанной в левой части таблицы новости. Желательно не принуждая браузер к обновлению страницы.
Буду крайне признателен, если кто-то приведет код или укажет источник, где можно будет посмотреть реализации чего-нибудь наподобии. Так же буду благодарен, если кто-нибудь скажет как хоть называется то, что я хочу реализовать, ибо гугл не знает ничего по запросу "автоматическая смена контента"

Извиняюсь за стиль изложения мысли, я знаю что он "специфический"
Код контроллера:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class HomeController : Controller
    {
        public int PageSize = 6; // количество отображаемых новостей на странице
        private INewsRepository repository;
 
        public HomeController(INewsRepository newsRepository)
        {
            repository = newsRepository;
        }
 
        public ViewResult List(string currentNews = null, int page = 1)
        {
            NewsListViewModel viewModel = new NewsListViewModel
            {
                News = repository.News.OrderByDescending(p => p.PostTime).Skip((page - 1) * PageSize).Take(PageSize), 
                //выбор коллекции новостей
                PagingInfo = new PagingInfo // генерируемый на основе общего количества новостей список страниц
                {
                    CurrentPage = page,
                    ItemsPerPage = PageSize,
                    TotalItems = repository.News.Count()
                },
                CurrentNews = currentNews == null ? repository.News.OrderByDescending(p => p.PostTime).Skip((page - 1) * PageSize).Take(1) : repository.News.Select(p => p).Where(p => p.Header == currentNews) //выбор новости по дате размещения
            };
            ViewBag.SelectedNews = currentNews;
            return View(viewModel);
        }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2013, 00:32
Ответы с готовыми решениями:

Изменить содержание отображаемого контента слайдера
Всем доброго времени суток! Столкнулся с такой ситуацией, есть слайдер вывода изображений на...

Софт для автоматической смены ip
Посоветуйте для убунту какую нибудь программу для автоматической смены ip, идеально конечно было бы...

Написать программу для автоматической смены разрешения экрана
Всем привет. У меня такая проблема, что сейчас у компа стоит вместо монитора телек, который можно...

Можно ли написать программу для автоматической смены пароля почты, скайпа
Ребята, нужен ваш совет, можно ли написать программу (теоретически) для автоматической смены...

3
98 / 96 / 15
Регистрация: 28.03.2011
Сообщений: 565
24.08.2013, 02:02 2
Цитата Сообщение от Dunedain Посмотреть сообщение
Я недавно начал изучать asp.net
рекомендую продолжать изучать, и задавать конкретные вопросы, а не "напишите мне пол-сайта, пожалуйста"
1
29 / 29 / 2
Регистрация: 06.04.2012
Сообщений: 78
26.08.2013, 13:28 3
Для разработки такого функционала вам необходимы знания JavaSсript и ajax теххнологий
2
Simpson101
31.08.2013, 20:24 4
Для того, чтобы вам это реализовать, нужно:
1. Посмотреть, что такое JsonResult как тип возвращаемого значения в методе действия. То есть у вас:
C#
1
public ViewResult List(string currentNews = null, int page = 1)
а я вам предлагаю посмотреть, что такое:
C#
1
public JsonResult ........
Обращение к этому методу можно будет вызвать асинхронно с помощью JavaScript.
2. Использовать PartialView, но тут тоже асинхронно и без JS никак.
Рекомендую полазить тут:
и тут: http://habrahabr.ru/post/148565/
Можете сами еще что-нибудь поискать. Ваша задача в целом не сложная, главное понять, что периодический вызов метода для смены новости вы будете вызывать с помощью JavaScript. Почитайте про SetTimeout в JavaScript и наверняка поймете, как решить задачу.
31.08.2013, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2013, 20:24
Помогаю со студенческими работами здесь

Эффект плавной смены контента
Как сделать, чтобы предыдущее содержимое контейнера плавно переходило в обновляемое ? Или чтобы...

спорный вопрос о частоте смены контента
спорный вопрос, контент меняется каждые пол часа за рабочее время (мое рабочее время) дас ист гуд...

Изменение контента без смены страницы
Здравствуйте! Возникла такая проблема: нужно при нажатии на ссылку изменить контент на странице....

Вставка ссылок в код для смены контента
привет, помогите советом как сделать рабочий скрипт. <script type="text/javascript"> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru