Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002

    [asp.net 2.0] Vai al primo messaggio non letto

    Come posso implementare questa funzione nel mio sito,tale e quale come è presente in questo forum ??

    Una volta ho sentito parlare di segnalibri in vs2005 ma se qualcuno ne sa di più è ben accetto.

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    up please

  3. #3
    Potresti aggiornare un cookie scrivendoci dentro la data e l'ora del messaggio che l'utente stà guardando ogni volta che ne guarda uno.

    Quando torna sai già che se clicca su Vai al primo messaggio non letto devi mostrargli il messaggio che è stato scritto appena dopo la data e l'ora del suo cookie personale.

    Ciao

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ok ma come facci oa spostare il cursore del browser proprio al msg nuovo ?

  5. #5
    Quando fai creare la tua pagina dovresti farle creare dinamicamente un anchor (un segnalibro, appunto) per ogni post, assegnando ad esso l'ID del post in questione.

    codice:
        <A name="IDdelPost">
    Poi ti crei una Sub come questa per fare il salto del cursore:
    codice:
        Private Sub registerAnchorScript(ByVal strAnchorID As String) 
            Dim strScript As String 
            strScript &= "<script language=JavaScript id='BookMarkScript'>" & vbCrLf 
            strScript &= "var hashValue='#" & strAnchorID & "';" & vbCrLf 
            strScript &= "if(location.hash!=hashValue)" & vbCrLf 
            strScript &= "location.hash=hashValue;" & vbCrLf 
            strScript &= "<" & "/script>" & vbCrLf 
            If (Not Page.IsStartupScriptRegistered("BookMarkScript")) Then 
                Page.RegisterStartupScript("BookMarkScript", strScript) 
            End If 
        End Sub
    E la lanci quando viene cliccato il pulsante 'Primo messaggio nono letto':
    codice:
    <asp:Button  ID="Jump" runat="server" Text="Primo messaggio non letto" OnClick="Jump_Click" />
    codice:
        Private Sub Jump_Click(ByVal sender As Object, ByVal e As EventArgs)
            ' Quì leggi il cookie o fai una query per trovare
            ' l'ID del primo post successivo alla data dell'ultima
            ' visita dell'utente
            registerAnchorScript("IDdelPost")
        End Sub

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Grazie dell'aiuto...l'unica cosa che mi rimane da capire è lo script java (ma quella è colpa mia perchè non lo conosco bene).

  7. #7
    Lo script in js è incluso nella funzione registerAnchorScript, non ti serve altro dal lato client.

    Copia la roba che ti ho passato in una pagina aspx e metti l'anchor dove vuoi (lontano dal pulsante 'Primo messaggio non letto').

    Clicca sul button e vedrai che il cursore ti salterà dove hai messo l'anchor.

    Quello che ti rimane da fare è creare dinamicamente gli anchor, uno per ogni post (ad esempio in questo post ce ne saranno 7 adesso), e chiamarli con l'ID che il post ha nel database.

    Poi dovrai crearti la query o la sezione di lettura di un cookie per trovare l'ID giusto.

    Se ti incasini chiedi pure

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Si ma vorrei capire passo dopo passo cosa fa..non mi piacere tagliare ed incollare

  9. #9
    codice:
            Dim strScript As String 
            strScript &= "<script language=JavaScript id='BookMarkScript'>" & vbCrLf 
            strScript &= "var hashValue='#" & strAnchorID & "';" & vbCrLf 
            strScript &= "if(location.hash!=hashValue)" & vbCrLf 
            strScript &= "location.hash=hashValue;" & vbCrLf 
            strScript &= "<" & "/script>" & vbCrLf
    Questa parte crea una stringa che contiene il codice Javascript da eseguire quando viene invocata la sub registerAnchorScript(). Hash è una proprietà degli oggetti Link e Location di javascript ed è una stringa che comincia con il simbolo hash (#) e che specifica il nome di un segnalibro in un URL HTTP.

    Ad esempio se in un javascript fai un document.write(location.hash) e ti trovi all'indirizzo http://www.html.it/pagina.htm#local?...zo@dominio.com a video risulterà la scritta #local?email=indirizzo@dominio.com.

    codice:
            If (Not Page.IsStartupScriptRegistered("BookMarkScript")) Then 
                Page.RegisterStartupScript("BookMarkScript", strScript) 
            End If
    Questa parte si occupa di verificare ed eseguire la registrazione dello script affinchè venga invocato ai postback della pagina.



    Quindi l'intero javascript si comporta in questo modo:
    - crea la variabile hashValue
    - assegna ad hashValue il valore dell'hash
    - controlla che il valore di hashValue non sià già uguale al valore dell'hash corrente e, se caso, fa saltare il cursore al segnalibro che si chiama come il parametro passato alla sub



    Per approfondimenti ti consiglio di googlelare cercando "location.hash" e "RegisterStartupScript".


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.