Трудно поверить, что после 8 лет работы asp.net никто не удосужился написать простую статью или учебное пособие о том, как делается нечто вроде многопоточных комментариев, которые так часто используются в миллионах блогов.Поисковые системы, как обычно, не дают ничего, кроме мусора.С другой стороны, Google - бесполезная штука, вы знаете, что.
Вот почему asp.net занимает так много времени, чтобы учиться.Дело не в том, что это операция на головном мозге, а в том, что невозможно выйти за рамки того, что есть в книгах, потому что информации не существует.
Я провел целый день, думая об этом, и наконец решил проблемуиспользование одной таблицы для комментариев, две хранимые процедуры, обрабатывающие комментарии и ответы по отдельности, представление списка для отображения комментариев с отступом в том месте, к которому они принадлежат, и другое представление списка для формы комментариев.Лучше всего то, что нет ограничений на глубину потоков, и комментарии кэшируются.
В моей таблице базы данных комментариев я создал новый столбец, в котором хранится значение сортировки, вычисленное в хранимых процедурах.Для комментариев значение сортировки устанавливается равным его собственному значению идентификатора комментария, а для комментариев - значение устанавливается равным родительскому идентификатору сортировки, соединенному с собственным идентификатором комментария, разделенным точкой.Если идентификатор сортировки не имеет точек, это комментарий верхнего уровня.Одна точка равна глубине одного уровня, две равны глубине двух уровней и т. Д.
Итак, единственный код, который мне нужно было написать, - это две простые хранимые процедуры и немного C #, чтобы получить количество точек и назначить соответствующий CSSзначение для отступа.Мне не нужно было иметь несколько таблиц с внешними ключами, идентификаторами родительских и дочерних идентификаторов, сложным кодом или какими-либо экзотическими рекомендациями, обычно предлагаемыми немногими, которые фактически пытаются ответить на форумах.очарование.Правила здравого смысла!