Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Anvean
61 / 54 / 9
Регистрация: 12.02.2019
Сообщений: 273
Завершенные тесты: 4
1

Как лучше реализовать?

11.02.2020, 11:56. Просмотров 348. Ответов 10

Есть два задания, описаные ниже, и есть вопрос как это лучше сделать? Можно и нужно использовать бутстрап 4.

2.На главной странице отображается лента в виде превью-статей. Превью-статьи – это Название статьи и
первые 200 символов текста + кнопка «Подробнее». При нажатии на кнопку на новой странице (в том же
окне) открывается полный текст статьи.

3. Добавить модуль «голосование». В виде группы RadioButton в right-sidebar. Модуль отображается только
на главной странице.

Сама статья имеет такие свойства как Title и Slug, она генерируется автоматически все такое.
Подкиньте идей как можно это реализовать, неважно где, на фронте или на бэкэенде, но желательно на бэкэнде)
Поповоду 3 задания думаю нужно создавать модель голосования, заносить в бд и как-то итерировать счетчики голосования, только вопрос как ?:)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2020, 11:56
Ответы с готовыми решениями:

Многочисленные запросы к БД, как лучше реализовать?
Посоветуйте пожалуйста, необходимо сделать 200 запросов на изменение информации в БД: UPDATE...

Как правильно реализовать доступ во внутреннюю (корпоративную) сеть из внешней и реализовать аутентификацию
Доброго времени суток. Вобщем суть вопроса... есть настроенный в корпоративной среде Sql Server...

Как лучше реализовать ?
Хочу посоветоваться у здешних ГУРУ как лучше реализовать данную идею. Суть такая: *На экран...

Как лучше реализовать?
Есть множество операций:"+","-" и т.д. Реализация одной: public abstract class...

Как лучше реализовать?
Добрый день. Извиняюсь за однотипные вопросы, но не знаком с МАСМ, а найти ответы на свои вопросы...

10
yurickas
147 / 125 / 30
Регистрация: 25.11.2015
Сообщений: 878
Завершенные тесты: 2
11.02.2020, 13:23 2
Цитата Сообщение от Anvean Посмотреть сообщение
Подкиньте идей как можно это реализовать, неважно где, на фронте или на бэкэенде, но желательно на бэкэнде)
Для начала подкидываю идею разобраться что такое фронт, а что такое бэк.

А так, в MVC реализовать простейший CMS не сложно. Обычные страницы master-details
0
Anvean
61 / 54 / 9
Регистрация: 12.02.2019
Сообщений: 273
Завершенные тесты: 4
11.02.2020, 16:22  [ТС] 3
yurickas, Вообще не понял что вы хотели мне этим сказать, имея в виду фронт и бэк я хотел сказать что это можно реализовать как в представлении с помощью бутстрапа/js`a так и в контроллере (хотя не уверен).
Что значит обычные страницы master-details? Вроде проглядел весь метанит, не нашел никакой инфы
0
kyvaldenius
7 / 5 / 2
Регистрация: 28.09.2015
Сообщений: 185
11.02.2020, 16:57 4
Цитата Сообщение от Anvean Посмотреть сообщение
2.На главной странице отображается лента в виде превью-статей. Превью-статьи – это Название статьи и
первые 200 символов текста + кнопка «Подробнее». При нажатии на кнопку на новой странице (в том же
окне) открывается полный текст статьи.
ну на вид стандартная пагинация ( разбиваем данные по странично на метаните есть пример )



Цитата Сообщение от Anvean Посмотреть сообщение
3. Добавить модуль «голосование». В виде группы RadioButton в right-sidebar. Модуль отображается только
на главной странице.
"Поповоду 3 задания думаю нужно создавать модель голосования, заносить в бд и как-то итерировать счетчики голосования, только вопрос как ?" все правильно. только определиться если голосование для всех авторизованных то определяем по пользователю, если нет то замарачиваемся с определением индивидуального пользователя ( ип, сессия, браузер ...)
0
Anvean
61 / 54 / 9
Регистрация: 12.02.2019
Сообщений: 273
Завершенные тесты: 4
13.02.2020, 16:40  [ТС] 5
kyvaldenius, Застрял на втором задании, не могу разобраться с пагинацией. Пример на метаните не очень понятен оказался.
Даже не знаю как вопрос сформулировать, если можете разбейте по пунктам то что я должен сделать))
0
yurickas
147 / 125 / 30
Регистрация: 25.11.2015
Сообщений: 878
Завершенные тесты: 2
13.02.2020, 17:06 6
Пагинация на самом деле простая штука.

1. Определяешь текущую страницу и количество элементов на странице
2. отдаешь контроллеру эти параметры.
3. делаешь выборку по тем параметрам как надо. Далее: метод Skip(i) пропускает количество записей (номер страницы * количество элементов). Метод Take(i) забирает необходимое количество, т.е. количество элементов на странице.
4. Отдаешь выбранные модели для формирования списка.

все.
0
Anvean
61 / 54 / 9
Регистрация: 12.02.2019
Сообщений: 273
Завершенные тесты: 4
13.02.2020, 17:29  [ТС] 7
yurickas, Определять кол-во в ViewModel?
0
yurickas
147 / 125 / 30
Регистрация: 25.11.2015
Сообщений: 878
Завершенные тесты: 2
13.02.2020, 18:58 8
Ну, в принципе, должно быть 3 цифры.
1. Номер страницы.
2. Количество на странице.
3. Общее количество или количество страниц

вот последннее рассчитываешь, остальные у тебя есть
0
kyvaldenius
7 / 5 / 2
Регистрация: 28.09.2015
Сообщений: 185
14.02.2020, 15:50 9
Цитата Сообщение от Anvean Посмотреть сообщение
kyvaldenius, Застрял на втором задании, не могу разобраться с пагинацией. Пример на метаните не очень понятен оказался.
Даже не знаю как вопрос сформулировать, если можете разбейте по пунктам то что я должен сделать))


так ну попробую объяснить ( использую хранимые процедуры)
1) определяем сколько всего записей ( по хорошему использовать фильтр чтоб можно было фильтровать нужные записи) - это хранимая процедура возвращает кол-во ( просто целое число)
2)такая же по содержимому ХП ( хранимая процедура) но возвращает результат запроса
3) на форме,сайте есть переменная которая определяет сколько записей на странице, и переменная которая определяет какая сейчас страница

и в зависимости от кол-ва данных на странице которые мы хотим показать и о номере текущей странице показываем нужный интервал записей


T-SQL
1
OFFSET '+ cast ((@CurPage-1)*@RowsOnPage as nvarchar(10)) +' ROWS FETCH NEXT '+ cast (@RowsOnPage as nvarchar(10))+' ROWS ONLY;
--- пример как получить нужный интервал
0
Anvean
61 / 54 / 9
Регистрация: 12.02.2019
Сообщений: 273
Завершенные тесты: 4
14.02.2020, 16:30  [ТС] 10
kyvaldenius, Спасибо вам за пояснение, но я уже сделал проще, просто в представлении сабстрингом обрезал до 200 символов и рядом прилепил ссылку которая ведет на полную статью
Как оказалось с Голосованием возникло больше сложностей. В общем даже не знаю как задать вопрос.
Как лучше реализовать?

Есть вот такая типизированная + IEnumerable вьюха в которую мне надо вставить голосование, как это сделать вопрос?
Код контроллера прилагается
Как лучше реализовать?

Я пока даже не пробовал. Есть идеи?
0
kyvaldenius
7 / 5 / 2
Регистрация: 28.09.2015
Сообщений: 185
17.02.2020, 11:41 11
"представлении сабстрингом обрезал до 200 символов и рядом прилепил ссылку которая ведет на полную статью" -да краткое сообщение я б так и делал


ну я бы делал так :
1) использовал ajax тогда можно было разместить где угодно и с помощью javascript/ajax запроса обращаться к любому контроллеру (в контейнере прописываются элементы и через javascript получаем их значения как смотреть в сторону jquery )

2) сделал отдельную страницу/контроллер для голосования и просто указал на нее ссылку ( но это костыли получаются)
0
17.02.2020, 11:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2020, 11:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как лучше реализовать?
Здравствуйте, постараюсь правильно объяснить свою задумку. Есть селект <select id="Number"> ...

Как лучше реализовать кнопку?
Здравствуйте! Я вижу два решения: 1)Создать класс button с указателем на функцию clickEvent, и...

Как лучше реализовать список?
Здравствуйте. Возникла задача - реализовать список строк, когда каждый элемент списка содержит...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.