【问题标题】:Asp.net MVC web Application Date Format for Text Box文本框的 Asp.net MVC Web 应用程序日期格式
【发布时间】:2014-08-01 06:06:05
【问题描述】:

我正在开发一个 asp.net mvc 网络应用程序。

我的部分观点有问题。

问题是,每当我打开 “新表单” 的部分视图时,我都会在以下格式的文本框中得到一个日期:

但是当我“编辑记录”时,我会在部分视图文本框中得到日期,如下所示:

以下是我的模型:

[DataType(DataType.Date), DisplayFormat(DataFormatString="{0:d}",ApplyFormatInEditMode=true)]
    public Nullable<System.DateTime> ReleaseDate { get; set; }

以下是我的部分视图代码:

<div class="editor-field">
        @Html.TextBoxFor(model => model.ReleaseDate, new { @class = "Date" })
        @Html.ValidationMessageFor(model => model.ReleaseDate)
    </div>
    <script type="text/javascript">
        debugger;
        var s = $(".Date");
        s.dateFormat = "dd/mm/yyyy";
        $('.Date').datepicker({ dateFormat: "d/m/yy" });
        var newdate = Date.parse($("#ReleaseDate"));
        var rdate = $("#ReleaseDate").val();
        var fdate = Date.parse(rdate);
        debugger;
    </script>

我想要的是在我编辑记录时获得像 2014 年 8 月 16 日这样的日期。请告诉我应该在哪里修改我的代码以设置日期格式。

谢谢

【问题讨论】:

  • [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] public DateTime ReleaseDate { get;放; }

标签: asp.net date format


【解决方案1】:

以下是您应该进行的更改

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 公共日期时间 ReleaseDate { 获取;放; }

【讨论】:

    【解决方案2】:

    您可以使用[DisplayFormat] 属性装饰您的视图模型属性:

    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime ReleaseDate { get; set; }
    

    在你看来:

    @Html.EditorFor(x => x.ReleaseDate)
    

    我不推荐的另一种可能性是使用弱类型帮助器:

    @Html.TextBox("ReleaseDate", Model.ReleaseDate.ToLongDateString())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 2019-01-03
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      相关资源
      最近更新 更多