Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 日期时间模型无法在google chrome上显示_C#_Asp.net Mvc_Google Chrome_Asp.net Core_Razor - Fatal编程技术网

C# 日期时间模型无法在google chrome上显示

C# 日期时间模型无法在google chrome上显示,c#,asp.net-mvc,google-chrome,asp.net-core,razor,C#,Asp.net Mvc,Google Chrome,Asp.net Core,Razor,我的asp.net核心mvc应用程序中有datetime数据类型,它显示mm/dd/yyyy--:---doest从datepicker获取输入。只读模式甚至显示此mm/dd/yyyyy--:---而不是传递到模型的日期时间。有什么方法可以删除此数据?正如上面Kanavos所评论的,格式仅在转换为文本或解析文本时适用 如果希望显示DateTime对象的各个部分并隐藏其他部分,可以执行以下操作: var newFormat = dateTimeObj.ToString("<desired

我的asp.net核心mvc应用程序中有datetime数据类型,它显示mm/dd/yyyy--:---doest从datepicker获取输入。只读模式甚至显示此mm/dd/yyyyy--:---而不是传递到模型的日期时间。有什么方法可以删除此数据?

正如上面Kanavos所评论的,格式仅在转换为文本或解析文本时适用

如果希望显示DateTime对象的各个部分并隐藏其他部分,可以执行以下操作:

 var newFormat = dateTimeObj.ToString("<desired format>")
var newFormat=dateTimeObj.ToString(“”)

并将“”替换为MS文档中列出的格式:

根据我对您的问题的理解,您希望使用
日期选择器输入日期,并显示唯一的日期
mm/dd/yyyyy
部分,而不是
mm/dd/yyyyy-->

可以通过对模型使用数据注释来实现这一点

[DataType(DataType.Date)]
public DateTime Date { get; set; }
razorview
中,您可以
Html助手
输入和显示日期

@Html.EditorFor(model => model.Date, new { htmlAttributes = new { @class = "form-control" } })
对于
只读
显示

@Html.DisplayFor(modelItem => item.Date)

请查看以了解更多信息。

日期选择器的默认值格式为
yyyy-mm-dd
,如果设置DateTime类型属性的displayFormat,则应将
type=“text”
设置为输入,否则可能会出现类似
的错误,如指定值“02/12/1995”不符合所需格式,“yyyy-MM-dd”。
以下是一个示例:

型号:

 public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
    public int Age { get; set; }
    [DataType(DataType.Date)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
    public DateTime Birth { get; set; } 
}
视图:


@节脚本{
@{wait Html.RenderPartialAsync(“_validationScript”);}
$(文档).ready(函数(){
$(“#日期选择器”)。日期选择器({
格式:“dd/mm/yyyy”
})
});
}
结果:


发布您的代码-HTML/Javascript和服务器端。您使用了什么日期选择器?DateTime没有格式,它是一个二进制值。格式仅在转换为文本或解析文本时适用。即使您使用以字符串形式返回日期的Javascript日期选择器,ASP.NET Core也会以ISO8601格式解析字符串。@PanagiotisKanavos I我猜他们使用的是
My problem only google chrome带来的这个mm/dd/yyyyy--:---甚至我还设置了可为空的datetime字段来删除这个默认值。非常感谢所有这些Type=“text”解决方案对我有效。很高兴我的解决方案能帮到你,你能将我的回复标记为答案吗?
<div class="row">
<div class="col-md-4">
    <form asp-action="Edit">
        <div asp-validation-summary="ModelOnly" class="text-danger"></div>
        <input type="hidden" asp-for="Id" />
        <div class="form-group">
            <label asp-for="Name" class="control-label"></label>
            <input asp-for="Name" class="form-control" />
            <span asp-validation-for="Name" class="text-danger"></span>
        </div>
        <div class="form-group">
            <label asp-for="Email" class="control-label"></label>
            <input asp-for="Email" class="form-control" />
            <span asp-validation-for="Email" class="text-danger"></span>
        </div>
        <div class="form-group">
            <label asp-for="Age" class="control-label"></label>
            <input asp-for="Age" class="form-control" />
            <span asp-validation-for="Age" class="text-danger"></span>
        </div>
        <div class="form-group">
            <label asp-for="Birth" class="control-label"></label>
            <input type="text" asp-for="Birth" class="form-control" id="datepicker" />
            <span asp-validation-for="Birth" class="text-danger"></span>
        </div>

        <div class="form-group">
            <input type="submit" value="Save" class="btn btn-primary" />
        </div>
    </form>
</div>
</div>

@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.5/datepicker.js">
</script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#datepicker").datepicker({
            format: 'dd/mm/yyyy'
        })
    });
</script>   
}