Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Condizioni if in un repeater: si può?

    Salve a tutti. Con il repeater sotto riportato, mi stampo un semplice menu racchiuso fra i tag ul e li.
    adeesso vorrei che quando clicco su un link, si stampi sempre lo stesso menu, con, l'aggiunta delle settogategorie del link cliccato (queste sottocategorie vengono prelevate da un'altra tabella del db)
    dovrrebbe essere circa così:
    codice:
    <ul>[*]categoria..[*]categoria..[*]categoria cliccata
        <ul>[*]sottocategoria..[*]sottocategoria..[*]sottocategoria..[/list][*]categoria..[*]categoria..
    </lu>
    In asp era semplicissimo farlo, bastava usare qualche if, in .net come si può fare??

    Repeater:
    codice:
     
    <%@ Page Language="VB" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    
    <script runat="server">
       sub Page_Load(obj as Object, e as EventArgs) 
          
          'set up connection
          dim myConnection as new OleDbConnection _
             ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=C:\wwwroot\sito\db\data.mdb")
    
          'open connection
          dim myCommand as new OleDbDataAdapter _
             ("select id_categoria, nome_ctg FROM Categorie", myConnection)
    
          'fill dataset
          dim ds as DataSet = new DataSet()
          myCommand.Fill(ds, "Categorie")
    
          'select data view and bind to server control
          'Repeater1.DataSource = ds.Tables("Categorie").DefaultView
          Repeater1.DataSource = ds
          Repeater1.DataMember = "Categorie"
          DataBind()
       
       end sub
    </script>
    <html><body>
      <ASP:Repeater id="Repeater1" runat="server" >
         <HeaderTemplate>
            <ul>
         </HeaderTemplate>
    
         <ItemTemplate>[*]menu.aspx?id_c=<%# Container.DataItem("id_categoria") %>"><%# Container.DataItem("nome_ctg") %>
         </ItemTemplate>
       
         <FooterTemplate>[/list]
         </FooterTemplate>
      </ASP:Repeater>
    </body></html>
    Doctorfire
    www.doctorfire.it - Il Portale Italiano per gli Appassionati di Fuochi d'Artificio
    info@doctorfire.it

  2. #2
    L'if non si può ma puoi richiamare un metodo pubblico definito nel codebehind.

    Più o meno è la stessa cosa di questo

    http://forum.html.it/forum/showthrea...hreadid=807780

    Ciao
    Kalman
    Kalman

  3. #3
    ti ringrazio per la risposta, però ho le idee un pò confuse in quanto è da poco che mi son "buttato" sul .net. qualche piccolo esempio applicato al mio codice?
    Doctorfire
    www.doctorfire.it - Il Portale Italiano per gli Appassionati di Fuochi d'Artificio
    info@doctorfire.it

  4. #4
    Penso che tu abbia una fonte dati associata al tuo repeater e devi fare il controllo su un campo di questa

    nella pagina aspx:
    codice:
    <asp:Repeater id="Repeater1" runat="server">
      <ItemTemplate>
        <%# CheckMe(DataBinder.Eval(Container.DataItem, "NomeCampo"))%>
      </ItemTemplate>
    </asp:Repeater>
    nel codebehind
    codice:
    Public Function CheckMe(ByVal a As String) As String
      if a = "gggg" theh
        return "OK"
      else
        return "KO"
      end if
    End Function
    Non saprei dirti altro dato che non hai detto esattamente cosa ti serve!
    Ciao
    Kalman
    Kalman

  5. #5
    grazie tantissimo.
    vedo quello che riesco a tirarfuori.
    terrò aggiornato il post... dopo feste ormai
    Ciao
    Doctorfire
    www.doctorfire.it - Il Portale Italiano per gli Appassionati di Fuochi d'Artificio
    info@doctorfire.it

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 © 2026 vBulletin Solutions, Inc. All rights reserved.