我在DateRangePickerFor组件的模型中有一个数组类型的DateTime属性。型号:
public class DateRange
{
[Required(ErrorMessage = "Please enter the value")]
public DateTime?[] value { get; set; }
}
执行后期操作时,模型值采用以下类型。由于该控件默认情况下需要两个数组值,并且由于类型为null,因此我得到的值如下。
{System.DateTime?[2]}
[0]: null
[1]: null
因此,在这种情况下,值被设置为值[null,null],并且没有设置给定的注释"请输入值"。因此,请任何人提出处理DateTime
数组类型的方法,并使Data注释适用于这种情况。控制器:
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult Index(DateRange model)
{
//posted value is obtained from the model
DateRangeValue.value = model.value;
return View(DateRangeValue);
}
视图:
<form method="post">
// Here i use my custom component (i.e) DateRangerPicker which takes the two date array values and displays like this "3/3/2020 - 9/3/2021"
@Html.DateRangePickerFor(m => m.value)
<input type="submit" value="Save Student Details" />
</form>
我建议修改您的自定义组件,使其具有两个单独的属性,而不是DateTime?
类型的二维数组。数组本身不是null,只是它的两个元素的值,因此您不会得到错误消息。