Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [c#] posizione flag...

  1. #1

    [c#] posizione flag...

    salve a tutti, io ho un calendario nascosto e se clikko su un pulsante diventa visibile, dopodiche se seleziono la data me la mette in una label dataInizio e la stessa cosa per dataFine...solo che mi mette entrambi i valori sempre sullo stesso campo del form...sapete indicarmi una soluzione?penso sia abbastanza semplice ma non mi viene in mente nulla e quelle che ho provato non funzionano...
    vi posto il codice :

    codice:
    protected void Calendar_SelectionChanged(object sender, EventArgs e)     {         bool flag = false;         Calendario.Visible = false;         string data_inizio, data_fine;         if (flag)         {             data_fine = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();             lblDataFine.Text = data_fine;         }         else         {             data_inizio = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();             lblDataInizio.Text = data_inizio;             flag = true;         }      }
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    beh fllag e' SEMPRE false,

    perche come prima cosa ci scrivi:

    flag = false!

    devi pasarti su altri fattori per discriminare, ad esempio un campo hidden che puo valore I oppure F!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    è sempre false?non mi ricordavo... comunque anche se lo inizializzo a true mi frega perchè ogni volta richiama la funzione da capo a quanto ho capito e quindi se lo inizializza ogni volta a true e fa sempre un solo ramo dell'if...(allo stesso modo con false)
    come posso usare questo campo hidden? :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    protected void Calendar_SelectionChanged(object sender, EventArgs e) {
    bool flag = false;

    per aiutarti di piu dovrei capire meglio come e' fatta la pagina
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  5. #5
    si ho capito quello del false... volevo dire che non sapevo che fosse già a false anche senza inizializzarlo... comunque il codice l'ho postato sopra..forse non si legge bene.. lo rimetto :

    codice:
    protected void Calendar_SelectionChanged(object sender, EventArgs e)
        {
            bool flag = false;
            Calendario.Visible = false;
            string data_inizio, data_fine;
            if (flag)
            {
                data_fine = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();
                lblDataFine.Text = data_fine;
            }
            else
            {
                data_inizio = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();
                lblDataInizio.Text = data_inizio;
                flag = true;
            }
        }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    quello che volevo dire e' che poiche' e' sempre false,
    non passera' MAI dal ramo IF ma sempre e solo dal ramo else!

    cio che vuoi fare probabilmente e' salvarti il valore del flag e recuperare cosi l' ultimo valore,
    ma non ti basta una variabile locale.

    prova cosi: definisci un campo hidden hdnFlag, che assumera i valori Y o N quindi:

    bool flag = (hdnFlag.Value=="Y");
    quando vuoi modificare il flag, ad esempio per metterlo a Y

    hdnFlag.Value="Y";



    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  7. #7
    non so se ho capito bene... sembra non dare errori mentre scrivo... cioè non li segnala ma quando compilo mi dice che non conosce hdnFlag...ma l'ho appena dichiarato...

    codice:
     HiddenField hdnFlag;
            bool flag = (hdnFlag.Value=="Y");
            Calendario.Visible = false;
            string data_inizio, data_fine;
            if (flag)
            {
                data_fine = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();
                lblDataFine.Text = data_fine;
            }
            else
            {
                data_inizio = Calendario.SelectedDate.Day.ToString() + "/" + Calendario.SelectedDate.Month.ToString() + "/" + Calendario.SelectedDate.Year.ToString();
                lblDataInizio.Text = data_inizio;
                hdnFlag.Value = "N";
            }
        }

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    se cosi non ti so rispondere... cioe dovrei vedere la pagina aspx e il codebehind generale.
    cmq ti volevo dare un tip:

    per scrivere la data nel formato dd/MM/yyyy ce un modo piu semplice:

    Calendare.SelectedDay.ToString("dd/MM/yyyy");

    ovvero i datetime hanno una variante di toString che accetta il formato!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  9. #9
    ok...ho modificato il codice con il tuo tip ma non mi riesce quella cosa del flag...non capisco bene come si usa il campo hidden che mi dicevi.. :master:

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.