数据批注不显示存储在视图模型中的数据
本文关键字:数据 视图 模型 存储 显示 | 更新日期: 2023-09-27 18:36:25
我有一个编辑视图。传递一个已填写ViewModel
,用户可以在其中编辑和提交。
<div class="form-group">
<strong>Date Effective:</strong>
<div class="col-md-10">
<p>
@Html.EditorFor(model => model.storeConfiguration.DateEffective)
@Html.ValidationMessageFor(model => model.storeConfiguration.DateEffective)
</div>
</div>
视图模型包含:
public DateTime DateEffective { get; set; }
这将日期显示为字符串,并允许轻松编辑。但是,我遇到了数据注释,发现通过添加[DataType(DataType.Date)]
我能够获得一个有用的工具来选择日期。
不幸的是,当我在上面的编辑视图中使用时,它显示一个空的日期选择器,而不是显示ViewModel
中的日期。
是否可以在不从我的编辑视图中删除ViewModel
数据的情况下获得此日期选择工具?
编辑:
在尝试追踪此错误时,我在查看"检查元素"时遇到了这个问题
<input class="text-box single-line" data-val="true" data-val-date="The field DateEffective must be a date." id="storeConfiguration_DateEffective" name="storeConfiguration.DateEffective" type="date" value="11/5/2014">
这表明正确的值仍然存储在那里,只是没有向用户显示。
编辑2:
初步测试表明[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
正在工作。我不完全理解它,但似乎这是视图访问它所需的日期格式。从那里,EditorFor
可以在组织 MM/dd/yyyy 的日期选择工具中显示它,这对我来说很好。
如果有人对这在做什么以及为什么有一个可靠的答案,我会接受它作为选择的答案。
基于此,问题可能是设置值属性的日期格式。