2014-04-16 2 views
1

Je crée un site Web à l'aide de la page Web ASP.net dans WebMatrix 3. J'ai une base de données (SQL Server) avec une table qui contient un enregistrement d'événements. Une colonne InDate, de type Date, est la clé primaire. Cependant, les données entrées sont affichées sous la forme "4/5/2014 12:00:00 AM".SQL Server renvoie la date et l'heure au lieu de seulement la date. Pages Web ASP.net

Est-ce normal? Et si c'est le cas, comment supprimez-vous l'heure de la date? J'ai essayé de trouver beaucoup de ressources différentes. Mais rien trouvé qui a aidé ma situation.

S'il y a des indications, des conseils, des suggestions ou si vous avez besoin de plus d'informations. S'il vous plaît, faites-moi savoir.

Merci de

de mise à jour Voici le fichier cshtml tel que demandé.

@{ 
    Layout = "~/Layouts/_Site.cshtml"; 
    PageData.Add("Title","Overview"); 
    var talkDB = Database.Open("Events"); 
    string incomingQuery = string.Format("SELECT InDate,Event FROM IncomingEvents WHERE InDate >= GETDATE() AND InDate <= DATEADD(week, 5, GETDATE())"); 

} 


<div id="upcomingEvents" class="alertBox"> 
    <div id="IncomingEvents"> 
     <h3>Incoming Events</h3> 
     <table class="alertBox"> 
      @foreach(var row in talkDB.Query(incomingQuery)) 
      { 
       <tr> 
        <td> 
         @row.InDate 
        </td> 
        <td>@row.Event</td> 
        <td>edit</td> 
       </tr> 
      } 
     </table> 
    </div> 
</div> 
+0

Veuillez fournir un exemple du fichier cshtml que vous utilisez pour afficher la valeur de la date. – dodexahedron

+0

Une date .net inclut toujours un composant de temps. 'Date.ToString' affichera toujours ce composant de temps. Vous devez formater la date pour supprimer l'heure, par exemple: 'Date.ToShortDateString'. –

Répondre

3

La raison pour laquelle il est affiché avec un temps dans votre page Web est parce qu'il n'y a pas de type de date dans .NET - seulement DateTime et d'autres types similaires. Lorsque vous obtenez un type Date de SQL Server, .NET le transforme implicitement en tant que DateTime. Comme il n'y a pas d'heure spécifiée dans la date qui provient de SQL Server, la valeur 0 est utilisée, qui est 12:00:00 AM. Pour afficher uniquement la date sur votre page Web, vous devez écrire votre code frontal pour le faire.

Cela peut être fait par un appel à ToString() sur la propriété date de vos objets de modèle de données, avec la chaîne de format approprié transmis.

Voir ce lien pour tous les arguments à DateTime.ToString() et ce qu'ils font: http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

Vous avez probablement envie quelque chose comme ceci:

@row.InDate.ToString("M/d/yyyy"); 

qui a une fonction sténographie:

@row.InDate.ToShortDateString(); 
+0

Merci pour votre aide. Ça a marché. – Xigtim

+0

Pas de problème. Je suggère fortement de mettre cette page en signet, car vous en aurez besoin à l'avenir, c'est garanti. Je me retrouve en train de le référencer de temps en temps, quand j'ai besoin de montrer une date/heure d'une manière différente. – dodexahedron

+0

Merci pour le conseil. J'ai le sentiment que j'en aurai bientôt besoin. – Xigtim

Questions connexes