微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – ASP.NET MVC5以自定义格式显示日期

我正在尝试格式化DateTime变量,以便它显示为MMMM dd,yyyy,例如2011年6月10日.

在我看来,我有

@Html.Raw(modelItem => item.MyDateTimeProperty.ToString("MMMM dd,yyyy"))

这给我一个例外如下:

lambda expression cannot be converted to 'string' because 'string' is not
a delegate type

当然,item.MyDateTimeProperty数据类型是DateTime.

作为参考,我使用了以下示例[1]

// The example displays the following output: 
//    Today is June 10,2011. 
DateTime thisDate1 = new DateTime(2011,6,10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd,yyyy") + ".");

我究竟做错了什么?

编辑

我看到stack247的答案是理想环境中最合适的解决方案.但是,在我的情况下,控制器返回一个在我的模型类中不存在的对象.这是因为我正在使用API​​来获取数据.这就是为什么Anrei的解决方案对我来说最好的原因.

@Html.Raw(item.MyDateTimeProperty.ToString("MMMM dd,yyyy"))

[1] http://msdn.microsoft.com/en-US/library/8kb3ddd4%28v=vs.110%29.aspx

解决方法

Html.Raw实际上需要一个字符串作为参数,并且你传入一个lambda.不知道为什么,你不是在这里以任何方式使用lambda.所以这就是错误信息所指的内容.

看起来应该只是

@Html.Raw(item.MyDateTimeProperty.ToString("MMMM dd,yyyy"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐