Model实体中的字段值如何格式化?

手抓宝 2012-08-07 11:13:47

[DisplayName("出生日期")]
[DataType(DataType.DateTime)]
public DateTime Birthday { get; set; }


@Html.TextBoxFor(m => m.Birthday, new { @class = "login_textbox", @id = "datepicker" })


以上效果是“ yyyy/MM/dd hh:mm:ss ”

我只想取短日期型,

如果m.Birthday.ToShortDateString()会报错

应该如何?

俺是新手。。。
...全文
416 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
白s菜 2012-11-06
  • 打赏
  • 举报
回复
1:@Html.TextBoxFor(m => m.Birthday, new { @class = "login_textbox", @id = "datepicker" ,Value = Model.Birthday.ToString("yyyy-MM-dd")}) 2:@Html.TextBoxFor(m => m.Birthday, new { @class = "login_textbox", @id = "datepicker" ,Value = String.Format("{0:d}", Model.Birthday)}) 注意非空判断
xml111024 2012-08-07
  • 打赏
  • 举报
回复
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
也就是string类型的属性处理完datetime 类型的属性后再提供给模板
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
提示不是可以访问某个属性或字段么?你是不是可以指向另一个string类型的字段、属性。而这个string类型的字段专门处理Birthday这个属性
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
那能不能直接在属性里先处理好呢?
public DateTime Birthday { get; set; }
在get或者set方法里先处理好呢。。
你的错误提示估计是只能使用属性,不能对属性再进行处理咯。。
手抓宝 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
前端的m.Birthday不能进行任何转换,包括toString等,都会报“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”这样的错误

你模板里面怎么写的,cshtml?
[/Quote]
风骑士之怒 2012-08-07
  • 打赏
  • 举报
回复
前端的m.Birthday不能进行任何转换,包括toString等,都会报“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”这样的错误

你模板里面怎么写的,cshtml?

手抓宝 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

报错是在IsValid出现吗

那你直接排除这个key,不要进入验证

或者 POST的时候,将日期补全,
[/Quote]

[Quote=引用 4 楼 的回复:]

m.Birthday.ToShortDateString()
按道理时间类型转字符串类型应该是没问题的。。你试试转ToString()行不行?除非是m.Birthday 这个东东是null 就会有问题
[/Quote]


前端的m.Birthday不能进行任何转换,包括toString等,都会报“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”这样的错误。

而且也不是验证的问题,这个值是从库里来的,库里的对应字段是非空的。
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
m.Birthday.ToShortDateString()
按道理时间类型转字符串类型应该是没问题的。。你试试转ToString()行不行?除非是m.Birthday 这个东东是null 就会有问题
风骑士之怒 2012-08-07
  • 打赏
  • 举报
回复
报错是在IsValid出现吗

那你直接排除这个key,不要进入验证

或者 POST的时候,将日期补全,

手抓宝 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

datetime类型的tostring()方法可以格式化日期时间的 m.Birthday.ToString("yyyy-MM-dd")
[/Quote]

模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。
bisolutions 2012-08-07
  • 打赏
  • 举报
回复
datetime类型的tostring()方法可以格式化日期时间的 m.Birthday.ToString("yyyy-MM-dd")

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧