提问人:Christopher Blick 提问时间:10/23/2023 最后编辑:Soner GönülChristopher Blick 更新时间:10/24/2023 访问量:57
我希望我的下拉列表显示月份和年份,但我收到一个错误,说 2023-03 是无效的共振峰
I want my dropdown to display Month and Year but I get an error saying that 2023-03 is an invalid formant
问:
[DataMember]
[DisplayFormat(DataFormatString = "{0:MM,yyyy}")]
public virtual Month TaxYearStartMonth { get; set; }
上面是我的代码,我只想让我的下拉列表显示月份和年份而没有一天,但我不断收到错误。
答:
1赞
Ozan BAYRAM
10/23/2023
#1
乍一看很难理解。 但如果你看得更深,你期望的格式是“MM,yyyy”。 这意味着您需要将日期设置为“03,2023”,而不是“2023-03”。
但我相信你需要使用字符串而不是月份作为你的属性类型。因为 DateTime.Month 是整数。
[DataMember]
[DisplayFormat(DataFormatString = "{0:MM,yyyy}")]
public virtual string TaxYearStartMonth { get; set; }
除了此更改之外,您可能还需要其他属性来存储 Month 和 Year 值。还有一些逻辑将此值作为 TaxYearStartMonth 属性值返回。
评论
0赞
Christopher Blick
10/23/2023
当我查看数据库并看到 DateTime.Month 是 int 时,我知道出了什么问题,让我试着看看会发生什么。谢谢!
0赞
Magnus
10/23/2023
可能应该是 或 . --> 2023年03月DateTime
DateTimeOffset
new DateTime(2023, 3, 3).ToString("MM,yyyy");
0赞
Christopher Blick
10/23/2023
更新 - 使其成为字符串,直接删除了下拉列表功能
0赞
Ozan BAYRAM
10/23/2023
可能需要一些额外的逻辑来调整代码以接受/处理这种格式。
0赞
Christopher Blick
10/23/2023
DateTimeOffset。新的 DateTime(2023, 3, 3)。ToString(“MM,yyyy”);^ 是在模型中完成的吗?
下一个:基于另一个属性的反序列化属性
评论