Формат даты без времени в ASP.NET Gridview

в gridview ASP.NET привязывает две даты. Я хочу отобразить dd/MM/yyyy, но он отображает 10/03/2014 00:00:00.

<asp:TemplateField HeaderText ="Fromdate" >
   <ItemTemplate >
   <asp:Label ID="lblFromDate" runat="server" 
              DataFormatString="{0:dd/MM/yyyy}" 
              HtmlEncode="false"  
              Text='<%# Eval("Fromdate") %>' />
    </ItemTemplate>
</asp:TemplateField>

Ответ 1

DataFormatString является свойством управления BoundField и не влияет на какой-либо другой элемент управления. Вы можете указать формат в выражении Eval:

Text='<%# Eval("Fromdate", "{0:dd/MM/yyyy}") %>' />

Ответ 2

В соответствии с этой статьей в MSDN атрибут DataFormatString имеет ограниченное количество вариантов для данных DateTime.

Что вы ищете:

DataFormatString="{0:d}"

который является short date pattern.

Чтобы получить формат dd/MM/yyyy, вам также необходимо правильно настроить свою информацию о культуре (например, до **en-GB**).

Ответ 3

Я достиг этого с {0:dd/MM/yyyy} по свойству DataFormatString поля

Хорошо работает

Ответ 4

DataFormatString является свойством управления BoundField и не влияет на какой-либо другой элемент управления. Вы можете указать формат прямо в выражении Eval:

Text='<%# Eval("Fromdate", "{0:dd/MM/yyyy}") %>' />

Ответ 5

<asp:TemplateField HeaderText="Fromdate">    
     <ItemTemplate>    
           <asp:Label ID="lblFromdate" runat="server"
                 Text='<%#Eval("Fromdate", "{0:dd/MM/yyyy}") %>'></asp:Label>
      </ItemTemplate>
</asp:TemplateField>

Ответ 6

Blockquote

Eval ("Дата", "{0: дд-мм-гггг}")%> '/>