在数据库中没有相应列的视图中包含日期字段的最佳方法是什么?例如:
Model:
[DataType(DataType.Date)]
[Display(Name = "Review Date")]
[Required]
public DateTime? ReviewDate { get; set; }
View:
@model Model.Employee
...
<div>
@Html.LabelFor(model => model.ReviewDate)
@Html.EditorFor(model => model.ReviewDate)
@Html.ValidationMessageFor(model => model.ReviewDate})
</div>
但我在数据库表中没有列ReviewDate。我只需要在视图中使用它来收集用户的日期条目以进行其他处理,但它不属于我的数据模型。我想只在模型类中包含它,以便我可以控制验证的属性等。
最佳方法是什么?我应该从模型中删除它,并在视图中只有一个孤立的HTML日期字段吗?如果是这样,我如何确保验证仍然适用于该字段?
答案 0 :(得分:1)
只需创建一个ViewModel,其中包含该特定视图所需的属性。
$product->get_price_html();
然后在你的剃刀中,你可以沿着这些方向做点什么:
public class EmployeeEditViewModel
{
[DataType(DataType.Date)]
[Display(Name = "Review Date")]
[Required]
public DateTime? ReviewDate { get; set; }
public EmployeeModel Employee { get; set; }
}