【问题标题】:DatePicker doesn't show date because of the culture由于文化原因,DatePicker 不显示日期
【发布时间】:2014-01-27 19:02:42
【问题描述】:

我对 DatePicker 有疑问!如果有不同的文化,他不想显示数据,尽管我不关心文化,唯一的标准应该是 dd/MM/yyyy 就是这样。

但是我看到的值是 dd.mm.yyyy 或 dd-mm-yyyy 或 mm/dd/yyyy

这是我的代码:

@model DateTime?

@{
   string valueString = null;
    if (Model != null)
    {
        valueString = ((DateTime)Model).ToString("dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
    }

}

<div class="form-group@(Html.ValidationErrorFor(m => m, " has-error"))">
    @Html.LabelFor(m => m, new { @class = "col-sm-2 control-label" })
    <div class="col-sm-10">
    @Html.TextBoxFor(m => m, new { id = "datepicker", @placeholder="dd/mm/yyyy", autocomplete = "off", @class="form-control", @type="text", value = valueString})

    @Html.ValidationMessageFor(m => m, null, new { @class="help-block" })
    </div>
</div>
<script type="text/javascript">

    $(document).ready(function () {
        /*$.datepicker.setDefaults($.datepicker.regional['fr']);*/
        $("#datepicker").datepicker({
            dateFormat: 'dd/mm/yy',
            changeMonth: true,
            changeYear: true,
            minDate: '-80Y',
            maxDate: '-17Y',
            yearRange: '-80:-17',

        });
        $("#datepicker").datepicker("option", "showAnim", "slideDown");
    });
</script>

这是我的模型:

[Required(ErrorMessageResourceName = "BirthdateRequired", ErrorMessageResourceType = typeof(Resources.Base))]
[Display(Name = "Birthdate", ResourceType = typeof(Resources.Base))]
[DataType(DataType.Date)]
[DateRangeAttribute(FirstDateYears = 80, SecondDateYears = 18, ErrorMessageResourceName = "BirthdateAgeConstraint", ErrorMessageResourceType = typeof(Resources.Base))]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime Birthdate { get; set; }

有人可以帮忙吗?

我在这里发现了一些关于此的问题,但没有得到回答。

【问题讨论】:

  • 为什么要设置 $.datepicker.setDefaults($.datepicker.regional['fr']);如果你不想让你的日期选择器依赖于文化?
  • 是的,我尝试了其他帖子的解决方案,但他们没有工作哈哈:/
  • 有人可以帮忙吗?

标签: asp.net-mvc date datepicker culture


【解决方案1】:

不知道这是否是一个好的解决方案,但我已经通过将 textboxfor 替换为 textbox helper 解决了这个问题:

@Html.TextBox("",valueString, new{ id = "datepicker", @placeholder="dd/mm/yyyy", autocomplete = "off", @class="form-control", @type="text"})

希望对大家有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-07
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多