2010-03-04 12 views
6

Muszę wprowadzić funkcjonalność podobną do głosowania SO. Próbowałem znaleźć odpowiedzi na kilka pytań dotyczących tego tematu i zauważyłem, że większość ludzi nie radzi sobie z głosowaniem w górę iw dół. już to przeszłam. mój problem jest związany z tym, jak sobie poradzić po przegłosowaniu głosowania. Oto, co zrobiłem do tej pory.Jak mogę wdrożyć system głosowania?

  1. Głosowanie w górę, w dół i wynik wyświetlany dla każdej odpowiedzi.
  2. Liczba głosów zmieniła się, gdy użytkownik kliknie w górę lub w dół, a obraz zostanie zaktualizowany odpowiednio o .
  3. Zapisz informacje w db jak. którzy głosowali, czas głosowania, rodzaj głosu, userIP, ansID itp

teraz pytania.

  1. Używam widoku siatki do wyświetlania informacji. jak wyświetlić wcześniej głosowane odpowiedzi jako głosowanie na ładowanie następnej strony. Mam informacje w db, ale chcę to zrobić bez wpływu na wydajność. Mógłbym to zrobić w zdarzeniu itemDatabound, ale nie wygląda to na ładny sposób, by sobie z tym poradzić. Zastanawiam się, czy istnieje lepszy sposób radzenia sobie z taką sytuacją.
  2. Toggle Votes: Gdy użytkownik przełącza głosowanie , co dzieje się za scenami . czy poprzedni przegłosowany rekord został usunięty czy nie? mówię, że należy usunąć , ale potrzebujemy potwierdzenia .
  3. Czy gridview jest dobrym sposobem na wdrożenie takiej funkcjonalności, czy nie?
+2

Będziesz chciał przeformułować to pytanie, usuwając odniesienia do SO. W przeciwnym razie zostanie przeniesiony do Meta, gdzie prawdopodobnie nie dostaniesz użytecznej odpowiedzi, –

+4

@John. Oprócz pytania nr 2 nie jest to pytanie meta. Pyta, jak zaimplementować określoną funkcję za pomocą StackOverflow jako przykładu. – Brandon

+0

Jeśli chcesz dowiedzieć się więcej o SO, zapytaj na meta.stackoverflow.com. Jeśli chcesz pomysłów na wdrożenie własnego systemu głosowania, zmień tytuł i określę platformę, nad którą pracujesz. –

Odpowiedz

2

Dla

1) Jeśli używasz GridView prawie wziąć tę drogę. Ale potrzebujemy więcej szczegółów na temat tego, co próbujesz zrobić.

2) Po pobraniu, a następnie przesłaniu tej samej odpowiedzi/pytania, należy to sprawdzić i usunąć. Pamiętaj, że masz tylko 1 głos na pytanie lub odpowiedź, więc twoja tabela bazy danych powinna być napisana tak, aby była to unikalny wiersz dla ID użytkownika, ID pytania (biorąc pod uwagę, że pytanie jest unikalne). Nie powinieneś nawet pozwalać na wstawianie duplikatów wierszy do tabeli.

3) stackoverflow to aplikacja typu mvc, korzystasz z formularzy internetowych, więc możesz użyć widoku gridview lub listview. Prawdopodobnie po prostu przechodzą przez odpowiedzi i generują html (jak to jest MVC).

+0

Dziękuję JonH za odpowiedź. Bardziej, ponieważ odpowiedziałeś na to, zanim zostaniesz popchnięty do zamknięcia lub przeniesienia. dzięki jeszcze raz. –

+2

@Sarah Nasir - Uważam, że dość dziwną zasadą jest zamknięcie tematu, ponieważ odwołujesz się do stackoverflow. – JonH

Powiązane problemy