Jaydeep Shah Ответов: 1

Как я управляю одним вопросом на странице в онлайн-экзамене (MVC)


онлайн-экзамен : предположим, что у вас есть 100 вопросов в БД.

на стороне клиента один вопрос на странице должен отображаться..на предыдущей и следующей кнопках нажмите кнопку отображения вопроса.

какую логику я должен использовать ?


!? > При каждом нажатии кнопки вызовите БД, чтобы получить 1 новый вопрос ??
!? > Что делать, если из 100 ..30 случайных вопросов получить при необходимости 30 вопросов (одна и та же страница один вопрос)

Что я уже пробовал:

в настоящее время не получается никакого решения.
i don't know how to start.

1 Ответов

Рейтинг:
2

Maciej Los

Вы должны загрузить x вопросы в объект DataTable[^] или набор данных[^] объект, где x значит: столько, сколько вы пожелаете или потребуете.
Если вы хотите получить 30 случайных вопросов, вы можете использовать Бери()[^] Метод Linq:

var rand = new Random();   
var result = yourDataTable.AsEnumerable().OrderBy(r => rand.Next()).Take(30); //get 30 records from datatable

или серверное решение: Случайный выбор строк из большой таблицы[^]

Когда у вас есть набор вопросов, вы можете перейти к следующему вопросу с помощью Пропускать()[^] и Take() вместе:

var nextQuestion = yourDataTable.AsEnumerable().Skip(currentIndex).Take(1);
//currentIndex -> currently displayed question


Теперь у вас есть идея, как достичь своих целей. Давайте приступим к работе!
Удачи вам!


Jaydeep Shah

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

Maciej Los

Подумай об этом! Вы должны хранить правильные данные в наборе переменных, тогда вы сможете проверить ответ.