Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30

Discussione: costrutto if???

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    20

    costrutto if???

    Salve raga!! Il datalist finalmente funziuona come voglio!!! Praticamente ho creato un barra OUTLOOK!!! conun effetto molto carino!
    Cmq, ora devo dire alla datalist che si deve fermare con la creazione dei link se trova una cella del database vuota:

    codice:
    <% if ( %> <%#Container.DataItem("imgL4") != vuoto) then %> 
    						<tr>
                                <td>
                                    [img]<%# Container.DataItem("imgL4") %>[/img]
    							</td>
                                <td>
                                    <%# Container.DataItem("testoL4") %>
    							</td>
                            </tr>
    						<% end if %>
                        </tbody>
    ovvero se il <%#Container.DataItem("imgL4") corrisponde ad una cella vuota del database, non deve eseguire la costruzione della <TD> ma non so come impostare il costrutto if, mi da questo messaggio:

    Messaggio di errore del compilatore: BC30201: Prevista espressione corrispondente all'if.

    Grazie anticipatamente

    P.s. Il codice della mia datalist funzuionante!!

    codice:
    <%@ Page Language="VB" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <script runat="server">
    
    Sub Page_Load
    if Not Page.IsPostBack then
    BindList()
    end if
    End Sub
         
    	 
    	 
    	 Sub BindList()
    
           Dim ConnectionString As String = "server=(local);database=menu;user=sa"
           Dim CommandText As String = "select * from menu1"
    
           Dim myConnection As New SqlConnection(ConnectionString)
           Dim myCommand As New SqlDataAdapter(CommandText, myConnection)
    
           Dim ds As New DataSet()
           myCommand.Fill(ds,"menu1")
    
           DataList1.DataSource = ds.Tables("menu1")
           DataList1.DataBind()
    
         End Sub
    
         Private Sub DataList1_ItemCommand(ByVal obj As Object, ByVal e As DataListCommandEventArgs)
    
           Select (CType(e.CommandSource, LinkButton)).CommandName
    
            Case "Open"
              DataList1.SelectedIndex = e.Item.ItemIndex
              BindList()
    
            Case "Close"
    
              DataList1.SelectedIndex = -1
              BindList()
    
           End Select
    
         End Sub
    
    </script>
    <html>
    <head>
        <link href="/menu.css" type="text/css" rel="stylesheet" />
    </head>
    <body>
        <form runat="server">
            <asp:DataList id="DataList1" runat="server" Font-Names="Verdana" Font-Name="Verdana" Font-Size="8pt" Width="150px" DataKeyField="pulsID" OnItemCommand="DataList1_ItemCommand" ShowHeader="False" CssClass=".puls">
                <SelectedItemTemplate>
                    <table id="tSel" cellspacing="0" cellpadding="0" width="200" background="/img/item_bg.gif">
                        <tbody>
                            <tr>
                                <td onmouseover="tSel.background='/img/item_over.gif'" onmouseout="tSel.background='/img/item_bg.gif'">
                                    <asp:LinkButton id="button1" Font-Bold="True" Font-Size="Medium" ForeColor="Black" CommandName="Close" Text='<%# Container.DataItem("testoPuls") %>' runat="server"></asp:LinkButton>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                    <table cellspacing="0" cellpadding="0" width="200" background="/img/group_bg.gif">
                        <tbody>
                            <tr>
                                <td>
                                    [img]<%# Container.DataItem("imgL1") %>[/img]</td>
                                <td>
                                    <%# Container.DataItem("testoL1") %></td>
                            </tr>
                            <tr>
                                <td>
                                    [img]<%# Container.DataItem("imgL2") %>[/img]</td>
                                <td>
                                    <%# Container.DataItem("testoL2") %></td>
                            </tr>
                            <tr>
                                <td>
                                    [img]<%# Container.DataItem("imgL3") %>[/img]
    							</td>
                                <td>
                                    <%# Container.DataItem("testoL3") %>
    							</td>
                            </tr>
    						
    						<tr>
                                <td>
                                    [img]<%# Container.DataItem("imgL4") %>[/img]
    							</td>
                                <td>
                                    <%# Container.DataItem("testoL4") %>
    							</td>
                            </tr>
    				
                        </tbody>
                    </table>
                </SelectedItemTemplate>
                <ItemTemplate>
                    <table id="tIte" cellspacing="0" cellpadding="0" width="200" background="/img/item_bg.gif">
                        <tbody>
                            <tr>
                                <td onmouseover="tIte.background='/img/item_over.gif'" onmouseout="tIte.background='/img/item_bg.gif'">
                                    <asp:LinkButton id="button1" Font-Bold="True" Font-Size="Medium" ForeColor="Black" CommandName="Open" Text='<%# Container.DataItem("testoPuls") %>' runat="server"></asp:LinkButton>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </ItemTemplate>
            </asp:DataList>
        </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    In rosso l'errore
    <% if ( %> <%#Container.DataItem("imgL4") != vuoto) then %>

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    devi creare una funzione..
    ti faccio un piccolo esempio, spero tu riesca a capirne il significato ed adattarlo alle tue esigenze

    codice:
    ..siamo nel tuo repeater..
    <%# Salutami(Container.DataItem("nome")) %>
    
    ..invece qua sotto siamo nel codebehind (oppure nello spazio sotto <script runat=server>..
    string Salutami (string Nome) {
    return "Ciao" + Nome + "!";
    }
    //occhio che io so male il cs, per cui ci potrebbe essere qualche errore.
    ora nel tuo repeater, al posto che il solo Nome, ci sarà anche un saluto

  4. #4
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Mi sa che hai fatto un po' troppi copia e incolla, perchè è strano che nella pagina metti
    codice:
    <%@ Page Language="VB" %>
    per il page_load e per la routine dove fai il databind, usi il vb poi fai un if con la sintassi del C#......
    Sbaglio??
    magari invece usi indifferentemente i due linguaggi e ti sei confuso.


    Legnetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Dove avete visto l'if con la sintassi del c#? Io vedo if then e end if

  6. #6
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    vb
    if bla bla <> vuoto then
    ..

    C#
    if (bla bla != vuoto){
    ..

    il tuo
    <% if ( %> <%#Container.DataItem("imgL4") != vuoto) then %>

    Come vedi è un mix fra i due linguaggi, anche l'amico sms che probabilmente ha guardato solo quella parte pensava usassi il C#.
    Tieni anche presente che nei controlli server non puoi mettere dei tag <%%>, ti darebbe errore(utilizzando il codebehind, con gli script nella pagina non mi ricordo).
    In tutti i modi il suggerimento che ti ha dato sms è corretto, invece di usare i <%%> richiami una funzione di servizio (con <%# %>) che ritorna il testo che ti interessa.
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    <% if ( %> <%#Container.DataItem("imgL4") != vuoto) then %>
    è l'if con la parantesi, ma soprattutto il != che ci ha fatto confondere. poi però il then non ci sta nel cs..
    beh cmq, hai capito il senso della funzione?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    codice:
    anche l'amico sms che probabilmente ha guardato solo quella parte pensava usassi il C#
    esattamente. ho abboccato :maLOL: :maLOL:

    ti traduco la funzione dal c#
    codice:
    ..invece qua sotto siamo nel codebehind (oppure nello spazio sotto <script runat=server>..
    string Salutami (string Nome) {
    return "Ciao" + Nome + "!";
    }
    //occhio che io so male il cs, per cui ci potrebbe essere qualche errore.
    al vb
    codice:
    ..invece qua sotto siamo nel codebehind (oppure nello spazio sotto <script runat=server>..
    Function Salutami (ByVal Nome As String) As String
    Return "Ciao" & Nome & "!"
    End Function
    'occhio che sono le 9 del mattino per cui il mio cervello deve ancora avviarsi

  9. #9
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Chiedo scusa ad hankmccoy per questo OT.

    x sms
    Ma le ferie...
    Quando?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Originariamente inviato da Legnetto
    Chiedo scusa ad hankmccoy per questo OT.

    x sms
    Ma le ferie...
    Quando?
    20 agosto

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.