MVC5 DateTime.ToLongDateString无法在已发布的网站上运行

时间:2016-02-22 20:58:26

标签: c# datetime asp.net-mvc-5 iis-7

在Visual Studio中构建MVC应用程序。当我测试它(在IIS Express中本地运行)时,它正确显示datetime.tolongdatestring()格式。当我发布网站时,它显示的是正确的日期,但是采用的是基本格式,如2016年2月18日,而不是长格式。

网站发布在运行IIS 7.0,Server 2K8 Standard的网络服务器上。可能与文化或区域环境有关,但请指出正确的方向......

以下是我模特的一部分。如上所述,下面的字符串DisplayDate显示正确的格式与本地运行的星期几,发布的网站没有。尝试过多个地点,平台等。

[DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        public DateTime DateAndTime { get; set; }

        //Display long date format
        public string DisplayDate { get { return (DateAndTime.ToLongDateString()); } }

1 个答案:

答案 0 :(得分:0)

基于上面建议的评论,我能够使用此命令使其正常工作。注意Thread Current Culture部分(上面的修改代码):

[Required]
        [Display(Name = "Date")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        public DateTime DateAndTime { get; set; }

        //Display long date format
        public string DisplayDate
        {
            get
            {
                // Sets the CurrentCulture property to U.S. English.
                Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
                return (DateAndTime.ToLongDateString());
            }
        }