Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    C# ViewState - conversione da VB

    Ho qualche problema a convertire in modo ottimale questo codice in C# più precisamente non riesco a fare le giuste conversioni in modo che funzioni tutto correttamente. Se qualcuno potesse farmi il favore di convertirlo gliene sarei grato.

    codice:
    Sub Button_click (s as Object, e as EventArgs)
    ViewState("TotalCount") +=1
    if ViewState("TotalCount")=5 Then
    lblCount.Text="Hai cliccato 5 volte!"
    end if
    end sub
    Grazie


    Marco

  2. #2
    dovrebbe essere cosi:
    codice:
    protected void Button_click (Object s, EventArgs e)
    {
       ViewState["TotalCount"] +=1;
       if(ViewState["TotalCount"]==5)
          lblCount.Text="Hai cliccato 5 volte!";
    }

  3. #3
    No, non è così semplice. Intanto non puoi applicare l'operatore += ad un oggetto, bisogna lavorare sulle conversioni e qui nascono i casini. E' più difficile di quanto sembra...

    Marco

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da [-MaRcO3-]
    No, non è così semplice. Intanto non puoi applicare l'operatore += ad un oggetto, bisogna lavorare sulle conversioni e qui nascono i casini. E' più difficile di quanto sembra...

    Marco
    codice:
    			if(this.ViewState["TotalCount"] != null)
    			{
    				int v = (int) this.ViewState["TotalCount"];
    				v++;
    				this.ViewState["TotalCount"] = v;
    				if( v == 5)
    				{
    					lib.PrintLn("Hai cliccato 5 volte!", "");
    				}
    			}
    			else
    			{
    				this.ViewState.Add("TotalCount", 1);
    			}
    veramente, neanche in basic si fa come hai fatto

    ciao
    Pietro

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    o anche:
    codice:
    this.ViewState["TotalCount"] = (int) this.ViewState["TotalCount"] + 1;
    ma non so: io uso il basic
    Pietro

  6. #6
    Anche io anche io

    codice:
    void Button_click (object s, EventArgs e) {
      (int) ViewState["TotalCount"]++;
      if ( (int) ViewState["TotalCount"] == 5 )
        lblCount.Text = "Hai cliccato 5 volte!";
    }
    (basta utilizzare un Cast non serve convertire)

    Ovviamente bisogna assicurarsi che nel ViewState ci sia sempre un valore di tipo Int.


  7. #7
    Originariamente inviato da pietro09
    codice:
    			if(this.ViewState["TotalCount"] != null)
    			{
    				int v = (int) this.ViewState["TotalCount"];
    				v++;
    				this.ViewState["TotalCount"] = v;
    				if( v == 5)
    				{
    					lib.PrintLn("Hai cliccato 5 volte!", "");
    				}
    			}
    			else
    			{
    				this.ViewState.Add("TotalCount", 1);
    			}
    veramente, neanche in basic si fa come hai fatto

    ciao
    L'esempio era preso da ASP.NET Tutto&Oltre di Apogeo e in VB funziona anche se come hai fatto notare tu non è il modo più giusto di agire. E' sempre il solito discorso che si faceva anche nell'altro post. A quanto pare non tutti i manuali insegnano a programmare in maniera corretta. La tua conversione funziona, ho solo sostituito questa riga
    lib.PrintLn("Hai cliccato 5 volte!", "");
    con questa
    lib.Text="Hai cliccato 5 volte!";
    Grazie dell'aiuto, adesso mi guardo bene l'esempio.

    Marco

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da ZofM
    Anche io anche io

    codice:
    void Button_click (object s, EventArgs e) {
      (int) ViewState["TotalCount"]++;
      if ( (int) ViewState["TotalCount"] == 5 )
        lblCount.Text = "Hai cliccato 5 volte!";
    }
    (basta utilizzare un Cast non serve convertire)

    Ovviamente bisogna assicurarsi che nel ViewState ci sia sempre un valore di tipo Int.

    ho provato: (int) ViewState["TotalCount"]++;
    ma Visual Studio mi tira pietre addosso è incazz... e non mi fa compilare
    Pietro

  9. #9
    Originariamente inviato da pietro09
    ho provato: (int) ViewState["TotalCount"]++;
    ma Visual Studio mi tira pietre addosso è incazz... e non mi fa compilare
    Anche a me con l'esempio di ZofM da errore su quella riga...

    Marco

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ViewState["TotalCount"] = (int) ViewState["TotalCount"] + 1;

    il massimo della libidine per chi programma in basic (mettere il naso in c super sharp)
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.