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

    Stringa non riconosciuta come valore DateTime valido

    Ciao,
    sto sviluppando un web site usando Visual Studio 2015 con framework 4.6.1 ed il linguaggio C#.
    La situazione e' questa: in una web form ho una textbox a cui e' associato un calendarextender il corrispondente codice e' in .aspx:
    codice:
            Data di inizio <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" Format="dd/mm/yyyy hh:mm:ss" TargetControlID="TextBox1" />
    In seguito ho dichiarato in aspx.cs una variabile per memorizzare il valore che l'utente inserira' nella text box selezionandolo da calendario:
    codice:
     DateTime date = DateTime.ParseExact(TextBox1.Text, "dd/mm/yyyy hh:mm:ss", null);
    Infine, in base al valore inserito dall'utente nella text box, faro' una query ad un db di sql server per sapere quali sono i record di una certa tabella che contengono nella colonna "date" il valore che esso ha inserito.

    In sql server il campo "date" della tabella che ho creato e' di tipo smalldatetime.

    Il MESSAGGIO DI ERRORE che mi viene dato quando avvio il sito e' web e':

    Stringa non riconosciuta come valore DateTime valido.

    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere la traccia dello stack.

    Dettagli eccezione: System.FormatException: Stringa non riconosciuta come valore DateTime valido.

    In particolare la riga che mi segna sbagliata è:
    DateTime date = DateTime.ParseExact(TextBox1.Text, "dd/mm/yyyy hh:mm:ss", null);


    Come posso risolvere il problema??
    Grazie

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    in quale cultura/lingua viene fuori la data, nella textbox ?

  3. #3
    Grazie per aver risposto!

    Non riesco a capire come vedere la cultura/lingua, come si fa?
    Comunque, attualmente il funzionamento della text box è il seguente:
    -clicco sulla textbox
    -si apre un calendario
    -seleziono una data dal calendario e cliccandola essa viene inserita nella textbox
    (Inoltre, qualsiasi data selezioni, il mese è sempre rappresentato con "00")

    Riporto qui uno screenshot della web form:

    Allegato 27062

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Il mese "00" è strano.

    Comunque, ti chiedevo COME VIENE SCRITTA LA DATA NELLA TEXTBOX dopo averla selezionata.
    Ti chiedevo il suo formato.

    Inoltre dai una occhiata al web.config. Per prova, inserisci queste direttive e riseleziona la data.
    codice:
    <configuration>
      <system.web>
        <globalization culture="it-IT" uiCulture="it-IT" />
       </system.web>
    </configuration>

    Tieni presente che poi devi "parlare" con SQL Server nel suo formato di installazione (a meno che non usi dei piccoli trucchi).

  5. #5
    Modificando il web.config non è cambiato nulla, il mese continua ad apparire "00", cos'altro potrei fare?

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    prova su un altro pc di sviluppo. poi togli il Toolkit dal progetto, che fa un po' pena

  7. #7
    Come posso creare un calendario se decido di non utilizzare ajaxToolkit? Scusa la domanda ma uso ASP.NET da un mese..

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    per ora non toglierlo

    prova a cambiare pc

  9. #9
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    prova con
    DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy HH:mm:ss", null);
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  10. #10
    Quote Originariamente inviata da supermac Visualizza il messaggio
    prova con
    DateTime.ParseExact(TextBox1.Text, "dd/MM/yyyy HH:mm:ss", null);
    FUNZIONA! grazie mille

    Ho dovuto modificare anche l'attributo format
    codice:
    <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" Format="dd/MM/yyyy HH:mm:ss" TargetControlID="TextBox1" />
    Ultima modifica di likeamelody; 04-05-2016 a 17:23

Tag per questa discussione

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.