zweistein wrote:καλή ιδέα αλλα πολύ υποκειμενική.
δηλαδή το best for που τοποθετείς, είναι καθαρά το τι προτείνεις ΕΣΎ (ως τυχαίος τύπος που μπήκε μέσα) και όχι τι είναι αντικειμενικά προτιμότερο από τον μέσο χρηστη.
διαφορετικά θα πρέπει να βρείς έναν πολύ αξιόπιστο αλγόριθμο που θα πρέπει να τον τεστάρεις συνεχώς online και να τον αναβαθμίζεις τακτά.
επίσης θα πρέπει να λάβεις υπόψιν ότι υπάρχουν εκατοντάδες παράμετροι προτιμήσεων ανάλογα το αντικείμενο.
για παράδειγμα βιβλία:
τι βιβλία? ebooks? κανονικά?
σε βιβλιοπωλείο? eshop?
με πιστωτική ή αντικαταβολή?
σε τι είδους βιβλίων?
μεταχειρισμένα ή καινούρια?
εικονογραφημένα ή όχι?
παιδικά ή για μεγάλους ή porn ή magazines?
comics ή manga?
ποιο είναι το τελικό κόστος της αγοράς τους?
ανά πακέτο ή σε προσφορα X τεμαχίων?
E για κάθε μια από αυτές τις ερωτήσεις η απάντηση είναι ένα διαφορετικό κατάστημα.
που στην τελική ένας άνθρωπος που ξέρει να χρησιμοποιεί το google πολύ απλά βρίσκει αυτό που θέλει πιο αποτελεσματικά.
edit:
A και για να μην με παρεξηγήσεις, συγχαρητήρια για την προσπάθεια και την δόμηση.
Αλλα η ιδέα είναι λίγο fail.
θα πρέπει πρώτα να σκέφτεσαι τι θέλει ο χρηστης και μετά το τι μπορείς να του προσφέρεις.
ανεξαρτήτως εάν είναι πρωτότυπο ή όχι.
Βασικα καμια σχεση!Ο καθε χρηστης κανει την προταση του οσον αφορα το καλυτερο σαιτ για την καθε κατηγορια!Αν μια κατηγορια δν υπαρχει,απλα την φτιαχνει! Κ το καλυτερο σαιτ βγαινει με βαση την πλειοψηφια,οχι το τι προτεινει ο καθενας μονος του!
Ρε ισοβιτης δν δουλευει με τπτ το autocompleteextender!Εχω φαει μια μερα να βρω τι φταιει αλλα τπτ! ο κωδικας της συναρτησης που επιστρεφει τα αποτελεσματα ειναι :
[WebMethod]
public string[] GetSuggestions(string prefixText, int count)
{
List<string> responses = new List<string>();
using (mybestsiteEntities db=new mybestsiteEntities())
{
//var a = db.Categories.Where(x => x.Category1.ToLowerInvariant().StartsWith(pre));
var a = from b in db.Categories
where b.Category1.ToLowerInvariant().StartsWith(prefixText.ToLowerInvariant())
select b.Category1;
foreach (var item in a)
{
responses.Add(item.ToString());
}
return responses.ToArray();
}
} και στο aspx αρχειο:
<asp:AutoCompleteExtender ID="TextBox3_AutoCompleteExtender" runat="server" TargetControlID="TextBox3"
ServiceMethod="GetSuggestions" ServicePath="~/Autocomplete.asmx" MinimumPrefixLength="1"
CompletionInterval="50" EnableCaching="true" CompletionSetCount="10" />