Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在gridview中仅显示日期而不是日期时间?_Asp.net_Entity Framework_Gridview - Fatal编程技术网

Asp.net 如何在gridview中仅显示日期而不是日期时间?

Asp.net 如何在gridview中仅显示日期而不是日期时间?,asp.net,entity-framework,gridview,Asp.net,Entity Framework,Gridview,我使用gridview从sql server数据库中提取日期值,并从中转换日期 2009年12月12日至2009年12月12日上午12:00:00 我如何防止这种情况发生 谢谢 您可以使用带有掩码的ToString()方法: ToString("MM/dd/yyyy"); 更新:刚刚意识到在网格视图模板中这样做会更容易 <asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" /> 从数据库中选择字段

我使用gridview从sql server数据库中提取日期值,并从中转换日期

2009年12月12日至2009年12月12日上午12:00:00

我如何防止这种情况发生


谢谢

您可以使用带有掩码的
ToString()
方法:

ToString("MM/dd/yyyy");
更新:刚刚意识到在网格视图模板中这样做会更容易

<asp:BoundField DataField="MyDate" DataFormatString="{0:MM/dd/yyyy}" />

从数据库中选择字段时,可以在“选择为”对话框中将其转换为字符串:

convert(varchar, myDate, 101)

如果您已经在处理行数据绑定中的日期,也可以对DateTime对象使用
.toSortDateString()
,将dataformatstring值设置为“{0:d}”

例:


您可以在绑定列中设置日期格式,如下所示

<itemtemplate>
<asp id="Label1" runat="server" Label.Text='<%# Bind("YourDateField", "{0:M-dd-yyyy}") %>'>;
</asp>
</itemtemplate>

;

您可以使用DataAnnotations属性和DynamicField控件;这样,您就不必每次格式化该字段时都进行相同的格式化。 这里有一个示例显示如何执行此操作:

在获取日期字段的查询中使用此选项

CONVERT(VARCHAR,date column name,103) as date
例如:
选择column1,column2,CONVERT(VARCHAR,date column name,103)作为表名中的日期

尝试以下代码:

    <asp:BoundField DataField="my_date" HeaderText="Date" 
                            ReadOnly="True" SortExpression="my_date" 
                            DataFormatString="{0:d}" />

在上述代码中,
my_date
是sqlserver表的日期列。
DataFormatString=“{0:d}”
是此代码的主要部分,用于解决您的特定问题。

asp:Label runat=“server”Text=“”

尝试添加“{0:M-dd-yyyy}”

asp:Label runat=“server”Text=“”

for(int j=0;j
谢谢,我一直在寻找使用SQL转换来限制您从数据库返回的数据量。您最好使用格式化函数。您也可以在Eval中使用相同的语法。e、 g.文本=“”/>
    <asp:BoundField DataField="my_date" HeaderText="Date" 
                            ReadOnly="True" SortExpression="my_date" 
                            DataFormatString="{0:d}" />
for (int j = 0; j < gv_bill_dmd_process_create.Rows.Count; j++)
                {
                    GridViewRow row_fees = (GridViewRow)gv_bill_dmd_process_create.Rows[j];
                    TextBox gv_chk_bill_dept = row_fees.FindControl("txt_gv_DmdProsDuedate") as TextBox;
                    AjaxControlToolkit.CalendarExtender gv_chk_bill_dept1 = row_fees.FindControl("txt_gv_DmdProsDuedate_CalendarExtender") as AjaxControlToolkit.CalendarExtender;
                    gv_chk_bill_dept1.StartDate = fromdate;
                    gv_chk_bill_dept1.EndDate = todate;
                }