Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# 仅显示DateTime中的日期_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 仅显示DateTime中的日期

C# 仅显示DateTime中的日期,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,您好,我试图仅显示datetime属性的日期和curency中格式化的十进制属性的价格。但我一定是做错了什么,因为格式化不起作用。显示方式如下: 我想用curency dolar金额只显示日期和价格。 这是我的型号代码: [Required] [DataType(DataType.Date)] public DateTime PublicationDate { get; set; } [Required] [DataType(DataType.Cur

您好,我试图仅显示datetime属性的日期和curency中格式化的十进制属性的价格。但我一定是做错了什么,因为格式化不起作用。显示方式如下:

我想用curency dolar金额只显示日期和价格。 这是我的型号代码:

    [Required]
    [DataType(DataType.Date)]
    public DateTime PublicationDate { get; set; }


    [Required]
    [DataType(DataType.Currency)]
    [DisplayFormat(DataFormatString="{0:c}")]
    public decimal Price { get; set; }
这是我在视图中使用的代码:

         <p>
            @Html.LabelFor(model => model.PublicationDate , "Publication Date")
            @Html.TextBoxFor(model => model.PublicationDate, new { @class = "datepicker"})
         </p>
        <p>
            @Html.LabelFor(model => model.Price)
            @Html.TextBoxFor(model => model.Price)
         </p>

@Html.LabelFor(model=>model.PublicationDate,“发布日期”)
@Html.TextBoxFor(model=>model.PublicationDate,新的{@class=“datepicker”})

@LabelFor(model=>model.Price) @Html.TextBoxFor(model=>model.Price)

我做错了什么?

日期

[Required]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime PublicationDate { get; set; }
兑换货币

[Required]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString="{0:0.00}")]
public decimal Price { get; set; }

您可以将格式化字符串
“{0:d}”
用于仅限短日期的模式。

您只需将其指定为>

DateTime.Now.Date.ToShortDateString()
或者在datetimepicker>

dateTimePicker1.Value.Date.ToShortDateString();

在datetime选择器的情况下,还有一个名为Format的选项,请保持简短。

我不是MVC人员,但我怀疑您只需要一个DisplayFormatString:

[DisplayFormat(DataFormatString="{0:d}")]
d
是“短日期”的缩写。你也可以用一个。请注意,对于向用户显示的文本,标准日期/时间格式通常更好,因为它可以根据用户的文化进行适当调整。如果使用固定的自定义格式,如“MM/dd/yyyy”或“dd/MM/yyyy”,则最终会使使用不同格式的用户感到困惑。(例如,“06/05/2013”在英国是5月6日,但在美国是6月5日。)


如果你需要这个输入,你最好选择一个日期选择器。

问题是,DataFormat选项不能应用于TextBoxFor和Label,或者只能应用于DisplayFor和EditorFor。

我尝试过这个解决方案,它实际上是我在这里发布之前尝试过的第一个解决方案,但对于某些人来说,它不适用于此页面原因。。。