Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [ASP.net 2.0] Marquee

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

    [ASP.net 2.0] Marquee

    Vorrei realizzare una cosa del genere

    <MARQUEE DIRECTION="up">
    Questo testo ha come attributo
    DIRECTION UP
    </MARQUEE>

    tipo news che scorrono in verticale,il problema è che voglio che le news se le deve prendere da un db,e non deve essere una cosa statica,come posso fare per inserire il contenuto del db nel marquee ??,lo dovrei rigenerare ad ogni page_load ???

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non basta fare

    <marquee id="mr_1" runat="server" direction="up"></marquee>

    e nel codice: Me.mr_1.InnerText = "Testo letto da db"

    :master:
    Pietro

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    a scusa nn credevo che ci potevo accedere tramite il suo id sorry....ma questo lo posso fare direttamente da codice ??

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    lo vuoi un esempio?
    Pietro

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    credo di aver capito..ma se me lo fai di sicuro non lo rifiuto...grazie della disponibilità.

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da cassano
    credo di aver capito..ma se me lo fai di sicuro non lo rifiuto...grazie della disponibilità.
    Nell'esempio che ho buttato giù, uso una tabella di un database Access.

    nome tabella: Tabella15

    campi:
    id, numerico, chiave primaria
    testo, memo

    Nell'esempio, interrogo la tabella ogni tot secondi tramite chiamate ajax e restituisco le ultime n news.

    nella stessa pagina (dovrebbe essere in una pagina separata) c'è la sezione per inserire nuove new nel database, sempre fatto tramite chiamata ajax.

    Per ajax uso la libreria prototype.js

    ps. la grafica fa schifo

    pagina

    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="news.aspx.vb" Inherits="prove_a" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Pagina senza titolo</title>
        <link href="../../../../App_Themes/Tema1/StyleSheet.css" rel="stylesheet" type="text/css" />
        
        <script type="text/javascript" src="../../../../js/prototype.js"></script>
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    window.onload = function()
    {
        window.setTimeout(aggiorna_marquee, 10000);
    }
    
    function aggiorna_marquee()
    {
        var url_action = "?comando_ajax=aggiorna_marquee";
        var parametri = "";
        
        new Ajax.Request(url_action, { onComplete:showResponse, parameters:parametri } );
        function showResponse(originalRequest)
        {
            var t = originalRequest.responseText;
    		$("mr_1").innerHTML = t;
    		window.setTimeout(aggiorna_marquee, 10000);
    		
    		
        }
    
    }
    
    function aggiungi_new()
    {
        $("div1").innerHTML = "<img alt=\"attendere...\" src=\"../../../../immagini/indicator.white.gif\" />";
        var url_action = "?comando_ajax=aggiorna_new";
        var parametri = "p_new=" + encodeURIComponent($("TextArea1").value);
        
        new Ajax.Request(url_action, { onComplete:showResponse, parameters:parametri } );
        function showResponse(originalRequest)
        {
            var t = originalRequest.responseText;
    		$("div1").innerHTML = t;
        }
    
    }
    
    
    // ]]>
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <marquee id="mr_1" runat="server" direction="up" scrolldelay="100" scrollamount="1" style="background-color:Bisque" ></marquee>
            
    
            
    
            <textarea id="TextArea1" style="width: 571px; height: 275px"></textarea>
            Aggiungi new
            <div id="div1">[img]../../../../immagini/indicator.white.gif[/img]</div>
        </div>
        
        </form>
    </body>
    </html>
    codice
    codice:
    Option Strict On
    
    Partial Class prove_a
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim comando_ajax As String = RequestParams("comando_ajax")
            If comando_ajax = "aggiorna_marquee" Then
                Response.Clear()
                Response.Write(Ultime3News())
                Response.End()
                Exit Sub
    
            ElseIf comando_ajax = "aggiorna_new" Then
                aggiorna_new()
                Exit Sub
            End If
    
            Me.mr_1.InnerHtml = Ultime3News()
    
        End Sub
    
        Private Function Ultime3News() As String
            Dim sb As New StringBuilder(10000)
            Dim dt As DataTable = libreria.GetDataTable(StringaConnessioneTest, "SELECT TOP 3 [testo] FROM Tabella15 ORDER BY [id] DESC;")
            For i As Integer = 0 To dt.Rows.Count - 1
                If i > 2 Then Exit For
                sb.Append("<p style='border:1px black solid;'>")
                sb.Append(dt.Rows(i)(0).ToString().Replace(vbNewLine, "
    "))
                sb.Append("</p>")
            Next
            Return sb.ToString()
    
        End Function
    
        Private Sub aggiorna_new()
            Dim p_new As String = RequestParams("p_new")
    
            Dim Connessione As OleDbConnection = Nothing
            Dim Comando As OleDbCommand = Nothing
            Dim Transazione As OleDbTransaction = Nothing
            Dim Sql$ = ""
    
            Try
                Connessione = New OleDbConnection(StringaConnessioneTest)
                Connessione.Open()
                Transazione = Connessione.BeginTransaction()
                Comando = New OleDbCommand
                Comando.Connection = Connessione
                Comando.Transaction = Transazione
    
                Append(Comando)
                'Update(Comando)
                'Delete(Comando)
    
                Transazione.Commit()
                'Transazione.Rollback()
    
                Response.Write("New inserita")
    
    
    
            Catch ex As Exception
                If (Not (Transazione Is Nothing) AndAlso Not (Transazione.Connection Is Nothing)) Then Transazione.Rollback()
                Response.Write(toStringaJS("Errore nell'aggiornamento:" & vbNewLine & vbNewLine & ex.Message))
    
            Finally
                If (Not (Connessione Is Nothing)) Then Connessione.Close()
            End Try
    
            Response.End()
    
        End Sub
    
        Private Sub Append(ByVal Comando As OleDbCommand)
            Dim p_new As String = RequestParams("p_new")
            Dim prossimo_id As Integer = libreria.ProssimoIDAccess(Comando, "tabella15", "id")
            Dim Sql$ = "INSERT INTO [tabella15] ( [TESTO], [ID]) VALUES (?,?) "
            Comando.CommandText = Sql
    
            Comando.Parameters.Clear()
    
            Comando.Parameters.Add("testo", OleDbType.VarChar, 60000).Value = p_new
            Comando.Parameters.Add("id", OleDbType.Integer).Value = prossimo_id
    
            Comando.ExecuteNonQuery()
    
        End Sub
    
    End Class
    Pietro

  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Grazie molto bello ora me lo studio bene,sopratutto la parte javascript che per me è la più dura....

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da cassano
    Grazie molto bello ora me lo studio bene,sopratutto la parte javascript che per me è la più dura....
    qui c'è la libreria prototype.js

    http://www.prototypejs.org/
    Pietro

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.