Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285

    [VB.NET] Convertire script da asp a asp.net

    Da tempo cerco di avvicinarmi al mondo di .net affascinato dlle sue potenzialità ma sono bloccato con un problema alquanto stupido..


    Nessun problema con upload o connessioni a db ma ho notevoli difficoltà a generare un contenuto dinamico di una pagina aspx..


    come da codice asp:

    'apro una connessione
    'apro il mio recordset

    varConta=rs.recordCount

    if varConta >0 then
    'stampo una bella tabella con tutti i record
    else
    response.write "nessun record presente"
    end if

    'chiudo gli oggetti

    come faccio a fare una cosa così banale in .NET?

  2. #2
    Innanzitutto metti una label e un datagrid(vicini possibilmente)nel punto della pagina nel quale vorrai che compaia il messaggio.
    varConta=rs.recordCount

    if varConta >0 then
    'stampo una bella tabella con tutti i record
    else
    response.write "nessun record presente"
    end if
    In PageLoad (o quando hai bisogno di verificare i dati) da code behind o inline che sia fai
    [in C#, converti tu che fai presto ^_^' ]
    codice:
    int varConta = rs.row.Count;
    
    if ( varConta >0 )
    {
    //stampo una bella tabella con tutti i record
    TuoDataGrid.DataSource = rs;
    TuoDataGrid.DataBind();
    // Possibilmente cancelli la label
    }
    else
    {
    // Possibilmente rendi invisibile il datagrid
    TuaLabel.Text = "nessun record presente";
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    fa niente per il c#, :-) capito cmq la logica, grazie mille


    mmmm.. mi stai dicendo di inserire più controlli nella stessa pagina e renderli visibili o invisibili a seconda della necessità?


    ma se ne avessi molti non appesantirebbero la pagina? esistono altri metodi più "eleganti"?

  4. #4
    Si, la logica è quella di mettere + controlli nelle pagine e visualizzarli o meno a seconda delle esigenze...

    Per le label per quel che ne so di eleganza basta che le svuoti mettendoci String.Empty al posto di visible = false...

    Sono solo controlli aggiuntivi, in alcune pagine non servono neppure

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    Grazie mille..

    vista la tua disponibilità ti faccio un altra domanda.

    Mettiamo caso che io abbia un bel repeater con il suo template predefinito, se io avessi necessità di generare un contenuto leggermente diverso dinamicamente, tipo richiamare un immagine al suo interno da un percorso diverso da quello specificato nel template come mi dvrei comportare?

  6. #6
    Dipende, se succede spesso lo fai direttamente nel codice del template

    Altrimenti in ItemCreated (o ItemDataBound) fai:
    codice:
    private void tuoRepeater_ItemCreated
        (object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e )
    {
    	ListItemType lit = e.Item.ItemType;
    	switch(lit)
    	{
                    case ListItemType.AlternatingItem:
    		case ListItemType.Item:
    		{
                       // Prendi la row, trovi l'elemento e lo imposti
                    }
             }
    }
    Dovrebbe essere questo che vuoi, o no?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    Beh a dire il vero non lo so neanche io quello che voglio

    sto solo cercando di capire..


    Allora vediamo.. se utilizo ItemCreated devo creare il mio template da codice VB o C# che sia? io utilizo dei template predefiniti in html, è possibile richiamare il necessario a seconda dell'esigenza senza creare il template da codice?


    tranquillo ora ti lascio andare a pranzo

  8. #8
    Se si tratta di una serie di dati puoi caricare a seconda della necessità, altrimenti devi modificare nell'ItemDataBound...

  9. #9
    Scusate se mi intrometto nel discorso, ma prima di modificare i record da visualizzare con gli eventi ItemDataBound o ItemCreated e simili, puoi usare altre tecniche molto più semplici.

    Se per esempio vuoi inserire il contenuto di un campo per la visualizzazione dell'immagine, all'interno del templatecolumn, puoi scrivere:
    codice:
    [img]directory/<%# DataBinder.Eval(Container.DataItem,"nome_campo")%>[/img]
    Oppure, se vuoi modificare il contenuto del campo prima della visualizzazione:
    codice:
    <%# Modifica(DataBinder.Eval(Container.DataItem,"nome_campo").ToString())
    E inserisci la funzione per la modifica:
    codice:
    function Modifica(testo as string) as string
    testo=testo.ToUpper()
    return testo
    end function
    E così via...

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    285
    Grazie mille a tutti

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.