собирался назвать это "Эвал не даст мне время суток", но подумал, что это слишком мило.
У меня какая-то проблема, противоположная предложенным вопросам, которые я вижу для своего названия, так что вот так:
Visual Studio 2008 Pro, SQL Express 2008, Vista. Веб-проект, где я открываю записи из таблицы событий с информацией о присоединении из таблицы объектов.
У меня есть поле SQL DateTime в файле SQL, которое полностью заполнено: например, 30.04.2009 18:30.
Мое поле в ListView является прямым <%# Eval("EventDate") %>
, и мой след, насколько я могу судить по просмотру окна Autos через поиск из SQLDataSource, сохранился без изменений с временем 18:30 дня.
Насколько мне известно, единственной инструкцией, которая приходит после заполнения источника данных, является сам Eval.
Тем не менее, во время визуализации, эта дата и время появляются на странице как 4/30/2009 12: 00: 00 AM .
Поэтому я твердо убежден в том, что мне нужно дополнительное фу, чтобы разобрать мое утверждение Эвала, чтобы получить то же самое время, что и я. Я еще не очень разбираюсь в этом, поэтому предложения будут приветствоваться. Заранее спасибо.
Редактировать: предоставление кода для Хосе.
DataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MeetingsConnectionString %>"
onselecting="SqlDataSource1_Selecting"
SelectCommand="SELECT Events.ID, Events.FacilityID, Events.Room, Events.EventDate, Events.Speaker, Events.Topic, Facilities.ID AS Expr1, Facilities.FacilityName, Facilities.FacilityAddress, Facilities.FacilityCity, Facilities.FacilityState, Facilities.FacilityZip, Facilities.FacilityLat, Facilities.FacilityLong FROM Events INNER JOIN Facilities ON Events.FacilityID = Facilities.ID WHERE (Events.EventDate BETWEEN @EventDate AND @EventDate2) ORDER BY Events.EventDate"
ProviderName="System.Data.SqlClient">
<SelectParameters>
<asp:Parameter Name="EventDate" />
<asp:Parameter Name="EventDate2" />
</SelectParameters>
</asp:SqlDataSource>
ListView:
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"
DataKeyNames="ID,Expr1">
<AlternatingItemTemplate>
When:<asp:Label ID="EventDateLabel" runat="server" Text='<%# Eval("EventDate") %>' />
...
<ItemTemplate>
When: <asp:Label ID="EventDateLabel" runat="server" Text='<%# Eval("EventDate") %>' /><br />
Редактировать 2: Я обошел проблему, разделив EventDate на EventDate (Дата) и EventTime (Время). Теперь я получил правильные значения и перешел к преобразованию значения времени из военного в гражданское время (т. Е. 18:30) в запросе SQL с использованием CONVERT или CAST. Спасибо за все ваши ответы.