Mr. Webmaster Menu
  • Home
  • Cerca
  • Didattica
    • A
    • Android
    • Apache
    • Apple
    • ASP
    • ASP.Net
    • C
    • Cloud
    • CMS
    • CSS
    • D
    • Database
    • E
    • Editor
    • G
    • Grafica
    • H
    • Hosting
    • HTML
    • J
    • Java
    • Javascript
    • jQuery
    • L
    • Leggi e Fisco
    • Linux
    • M
    • Mobile
    • MySQL
    • N
    • NET Framework
    • P
    • Photoshop
    • PHP
    • Primi Passi
    • Programmazione
    • R
    • Reti
    • Ruby
    • S
    • Sicurezza
    • Social Media
    • SQL
    • W
    • Web Design
    • Web Marketing
    • Web Server
    • Windows
    • WordPress
    • X
    • XML
    • Di tendenza
    • Android Studio
    • Bootstrap
    • GDPR
    • Hosting Wordpress
    • Node.js
    • Registrazione Domini
  • Download
    • Software
    • Script
    • Plugin CMS
    • Flash Movies
    • Sound Loops
    • Templates
    • Web Grafica
    • Font Gratis
  • Risorse
    • SEO Tools
    • WebApps
  • News
  • Blog
  • Forum
  • Network
    • Toolset.it
    • SiteMarket.it
    • Codalo.it
  • Corsi on-line
Mr. Webmaster → ASP.Net → Articoli → Un forum in ASP.Net

Un forum in ASP.Net

  • CommentaScrivi un commento
  • ForumDiscuti sul forum
  • PrecedenteUn forum in ASP.Net
    Pagina 1 di 7
  • SuccessivoUn forum in ASP.Net
    Pagina 3 di 7
  • Pubblicato il
  • 15/06/2010
  • Autore
  • Luca Ruggiero

Homepage del forum

La homepage del forum si chiamerà forum.aspx e conterrà il menu di navigazione (come tutte le pagine) e l'elenco delle discussioni, ordinate come precedentemente spiegato.

Vediamo il suo aspetto in anteprima:

Notiamo quindi il menu di navigazione col link che porta alla homepage, alla pagina di registrazione ed alla pagina di login: il prossimo paragrafo sarà dedicato esclusivamente alla gestione del menu.

Continua dopo la pubblicità...

Guardando le discussioni, notiamo che (per logica di titoli), l'ordine decrescente in cui sono state inserite è il seguente:

  1. Ultima discussione di esempio...
  2. Altra discussione di esempio...
  3. Ti piace questo forum?
Alla prima risposta (Ti piace questo forum?) sono state inserite delle risposte, quindi torna in prima posizione, ragion per cui l'ordine momentaneo sarà quello documentato nello screenshot.

Segue il codice completo:

<%@Page Language="VB"%>
<!--#include file="menu.inc"-->
<%@Import Namespace="System.Data.OleDB"%>
<script runat="server">
Private Sub Page_Load
    Call Menu
    Dim cn = New OleDbConnection(ConfigurationSettings.AppSettings("database"))
    cn.Open()
    Dim cm = New OleDbCommand("SELECT dom_id, dom_titolo FROM domande ORDER BY dom_aggiornamento DESC", cn)
    Dim rs = cm.ExecuteReader()
    discussioni.DataSource = rs
    discussioni.DataBind()
    rs.Close()
    cn.Close()
End Sub
</script>
<html>
    <head>
        <title>Homepage Forum</title>
        <meta name="author" content="Luca Ruggiero - Mr.Webmaster">
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" type="text/css" href="forum.css">
    </head>
<body>

<h1>Homepage</h1>

<p>
    <a href="forum.aspx">Homepage</a> |
    <asp:hyperlink id="registrazione" runat="server" /> |
    <asp:hyperlink id="login" runat="server" />
</p>

<asp:repeater id="discussioni" runat="server">
    <headertemplate><ul></headertemplate>
    <itemtemplate>
    <li><a href="topic.aspx?id=<%#Container.DataItem("dom_id")%>"><%#Container.DataItem("dom_titolo")%></a></li>
    </itemtemplate>
    <footertemplate></ul></footertemplate>
</asp:repeater>

</body>
</html>
All'inizio del file importiamo il namespace che ci consentirà di gestire i dati via OleDB ed includiamo un file esterno per la gestione dinamica del menu che analizzeremo a breve.

All'interno della pagina costruiamo il menu ed utilizziamo un Repeater per gestire il codice HTML in modo pulito, senza aggiunte che il .NET Framework fa in automatico (come nei casi del DataList o del DataGrid).

Il nostro contenitore di dati verrà popolato dallo script VB.NET che si trova prima dell'apertura del codice HTML che non fa altro che eseguire una query ordinata per il campo data_aggiornamento.

Zoom sul menu di navigazione

Diamo un occhio più approfondito al menu di navigazione:

<p>
    <a href="forum.aspx">Homepage</a> |
    <asp:hyperlink id="registrazione" runat="server" /> |
    <asp:hyperlink id="login" runat="server" />
</p>
Notiamo che il primo è un semplice link HTML che punta al file forum.aspx (ovvero alla homepage), mentre il secondo ed il terzo sono oggetti lato server in cui non specifichiamo direttamente il testo cliccabile ne' la URL, dato che il tutto sarà gestito all'interno del file menu.inc che includeremo in ogni pagina del forum.

Segue il codice completo:

<script runat="server">
Private Sub Menu
    If IsNumeric(Session("forum")) = False Then
        registrazione.Text = "Registrazione"
        registrazione.NavigateUrl = "registrazione.aspx"
        login.Text = "Login"
        login.NavigateUrl = "login.aspx"
    Else
        registrazione.Text = "Nuova discussione"
        registrazione.NavigateUrl = "nuova.aspx"
        login.Text = "Logout"
        login.NavigateUrl = "logout.aspx"
    End If
End Sub
</script>
Creiamo una routine di nome Menu che, come possiamo notare, abbiamo richiamato attraverso una Call anche nel file forum.aspx e che richiameremo ad ogni evento Page_Load di tutte le pagine del forum.

A seconda del fatto che la variabile di sessione "forum" sia numerica o meno, impostiamo i link e le relative URL verso la pagina di registrazione e la pagina di login, oppure (se un utente è loggato, quindi la sessione assumerà il valore del suo ID) impostiamo i link e le relative URL verso la pagina di creazione di una nuova discussione e la pagina di logout per disconnettersi dal forum.

  • ←
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • →

Naviga tra i contenuti

← Introduzione a Silverlight
→ Gestione degli errori nelle applicazioni ASP.NET

Commenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.
  • Facebook
  • Twitter
  • Google+
  • YouTube
  • Feed RSS
Frequenta i nostri corsi
  • Corso ASP.NETCorso ASP.NET
    Corso completo per la creazione di applicazioni Web. A partire da 49 €
  • Corso C#Corso C#
    Creare applicazioni in ambiente .NET con il linguaggio C sharp. A partire da 49 €
  • Corso MS SQL ServerCorso MS SQL Server
    Gestire database con Microsoft SQL Server. A partire da 49 €
Vedi anche...
  • Una classe .NET per gestire le immagini con SQL Server
  • Sicurezza nelle applicazioni ASP.NET
  • Paginazione di un documento XML con ASP.NET
  • Leggere un Feed RSS con ASP.NET ed XSL
  • Inviare un form in più step
Guide
  • Guida ASP.Net con Visual Studio
  • Guida base ad ASP.Net
Mr. Webmaster
  • RSS
  • Contattaci
  • Torna su
IKIweb
© 2003 - 2019 Mr. Webmaster
Mr. Webmaster ® è un marchio registrato.
E' vietata ogni forma di riproduzione.
IKIweb Internet Media S.r.l. - P.IVA 02848390122

Parliamo di noi: chi siamo / cronologia
Contatti: pubblicità / contattaci / segnala abusi
Note Legali: condizioni d'uso / privacy / cookie
Altro: sondaggi / feed