На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Создание форума с помощью ASP , Проблемы при создании форума
    Вот мне надо написать форум и я сразу столкнулся с проблемой.

    С чего состоит(с каких объектов, компонентов и т.д.) сам пост, т.е. как сделать что б у меня слева отображалось имя пользователя, аватар, справа шло сначала время добавления, потом сам пост и т.д. Я так понял - это GridView, но как сделать, что б так данные отображались...

    Я в этом деле почти новичок, потому прошу объяснить как можно доступнее. А если у кого есть исходники форума, я был бы очень признателен если кто их мне даст для наглядности, как пример.
      DarkNik
      поищи на codeproject.com там примеров масса

      Цитата DarkNik @
      Я так понял - это GridView

      не обязательно, реализовать это можно разными способами
        Цитата kosten @
        Цитата DarkNik @
        Я так понял - это GridView

        не обязательно, реализовать это можно разными способами

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


        За ссылку огромное спасибо! Там действительно много примеров, но разобраться в них сложновато, но буду дерзать.
          Видимо никто не знает как это реализовать :(
            Цитата DarkNik @
            Видимо никто не знает как это реализовать

            Естественно. Я тебе открою секрет. До этого вообще никто форумов на АСП.НЕТ не писал, ты - первый!


            Чем пытаться GridView прикручивать под форум (да, это можно сделать для табличного списка форумов и тем, но не для постов), надо писать свой WebControl, наследуясь от DataBoundControl, и в нем реализовывать датабиндинг и рендеринг HTML маркапа. Это большая и сложная тема, начинать которую лучше с изучения какой-нить умной книжки. Мне очень помогает вот эта: http://www.amazon.com/Professional-ASP-NET-Control-Component-Development/dp/0471793507/ref=pd_bbs_sr_1/002-5768719-3144059?ie=UTF8&s=books&qid=1192439179&sr=8-1
              А зачем такие сложности, а нельзя просто создать пользовательський элемент управления - пост, заносить данные в лэйблы например и добавлять его постоянно?
              Да, и что такое HTML маркап?
                Цитата DarkNik @
                А зачем такие сложности, а нельзя просто создать пользовательський элемент управления - пост, заносить данные в лэйблы например и добавлять его постоянно?

                А как же без сложностей... Тут одним элементом "пост" не обойтись, нужен список постов, многостраничный... И по-любому это DataBoundControl. HTML маркап - это код HTML. Для <asp:Label ID="lab1" Text="Label1" runat="server" >маркапом будет являться <span id="lab1">Label1</span>
                  У меня еще такой вопрос:
                  При создании новой темы, например, создается новый раздел в списке тем и соответственно новая страничка в которой будет обсуждаться тема и будут находиться посты. Как программно организовать создание новой странички и разделение ее потом на страницы(допустим на одной страницы находится 20 постов, а 21 уже на второй странице данной темы)?
                    DarkNik
                    может тебе нужно в первую очередь матчасть подтянуть прежде чем за форум браться?
                      kostenя б с удовольствием, дык времени нету.
                        DarkNik, типа у всех остальных тут есть время чтобы книжки писать по твоему вопросу? Изучай предмет и приходи с конкретными вопросами, а вопросы типа "как написать форум", "как написать электронный магазин" и тэпэ тут никто не освятит...
                          Может лучше начать не с юзер интерфейса а с базы данных проэктировать? Или хотябы бизнес-классы какие тебе нужны сначала уясни. а отображение данных это чепуха - минута дела. Можно использовать связку GridView и ObjectDataSource. Или вообще напрямую GridView и SqlDataSource. А можно вообще в репитере всё выводить - не суть. И вообще ты на каком фреймворке пишеш? 1, 2, 3?
                            Uncle_Bobтак я конкретный вопрос и задал - сообщение №8. Необязательно книжки писать, просто подсказать в каком направлении мне двигаться.
                            zurmansorдело в том, что с базами данных я уже работал и попробую разбраться сам, для меня почему-то сложенее как раз с отображением днных. :(
                              Цитата DarkNik @
                              Необязательно книжки писать, просто подсказать в каком направлении мне двигаться.

                              В направлении книжек. Есть такой автор Дино Эспозито очень неплохо пишет об ASP.NET ;)

                              По посту #8 эта штука пейджирование(Paging) наз-ся, а как ты его реализуешь это исключительно дело твое, вариантов масса.

                              В общем виде это одна и та же страница, которая рендерится в зависимости от некоторых параметров: общего числа записей(постов) в БД(кеше) - это влияет на коллво номерков снизу(номера и число страниц, в виде линков или как те там вздумается), текущая страница (это влияет на те какие посты тебе нужно отобразить) и собственно размера одной страницы(размер в числе отображаемых постов). Механизм передачи этих параметров может быть разный, например на форуме который ты читаешь они передаются посредством GET метода, где нужные для отображения параметры дописываются к URL, есть и более лаконичные и качественные решения.

                              Для БД обычно это хранимка которая принимает запрос, номер страницы, размер страницы и возвращает подмножество записей, а также в аут параметре общее число записей.
                                DarkNik, вопрос в посте №8 принципиально не отличается от сообщения №1.

                                Форум начинается с функций, которые он выполняет. Форумы, подфорумы, личныве сообщения, админка, аватары... Потом идет проектирование базы данных. И только потом идет проектирование лица форума. Ты начинаешь не с того конца, при этом просто не хочешь слушать что тебе говорят.

                                Диалог не получается.

                                Цитата DarkNik @
                                Необязательно книжки писать, просто подсказать в каком направлении мне двигаться.


                                На это я уже ответил в посте №5.

                                Все напоминает примерно "Я хочу написать ОС, а вот как кнопочку нарисовать не знаю"... Я серьезно, не зануда, люблю помочь, но в твоем случае ты просто не готов слушать ответы, т.к. просто знаний по теме не хватает.
                                  Uncle_Bobя понимаю, что это странно. Дело в том, что "Форумы, подфорумы, личныве сообщения, админка, аватары... " и БД, я представляю себе как реализовать, по крайней мере знаю где и что искать в книге(Мэтью Мак-Дональд, Марио Шпушта ASP.NET 2.0 с примерами на С#). И спрашиваю, только то, что даже понятия не имею где и что искать, так получилось, что касается это представления данных. Ответы на вопросы мне надо узнать в краткие сроки, потому что потом у меня просто не будет доступа в интернет(странно конечно, но обстоятельства именно слаживаются именно так), потому я и узнаю, только то, что мне больше всего непонятно, ВЫ УЖ ИЗВИНИТЕ :unsure: .
                                  juiceСпасибо! Понял не многое, но теперь знаю, что искать.
                                    2 DarkNik: Вообще всё что тебе понадобится:
                                    Варипнт 1(без бизнес классов):
                                    SqlDataSet - это источник данных. В этом контроле вводиш sql запросы на выборку, вставку и изменение данных.
                                    GridView - используеш как источник SqlDataSource - этот контрол умеет отображать данные ввиде столбцов и строк таблицы, редактировать данные, добавлять данные, делать постраничную разбивку. Можно ещё использовать FormView для работы с одной записью из таблицы.
                                    Вариант 2(с бизнес-классами)
                                    вместо SqlDataSet используеш ObjectDataSet и какой-нибуть ORM. Советую nHibernate или Gentle.

                                    Для отображения данных этого с головой хватит. И ещё не забуть отключить для всей страницы ViewState(он вообще нафиг не нужет), а то страница много весить будет.
                                    Сообщение отредактировано: zurmansor -
                                      Могу посоветовать книгу

                                      http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764584642.html

                                      Там чувак сквозь всю книгу показывает как писать портал, в том числе с юзерами, форумами и т.п., используя АСП.НЕТ 2.0. Книжка написана вполне доступно, исходники можно скачать с wrox.com здесь: http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764584642,descCd-download_code.html
                                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                      0 пользователей:


                                      Рейтинг@Mail.ru
                                      [ Script execution time: 0,0368 ]   [ 17 queries used ]   [ Generated: 26.04.24, 14:28 GMT ]