如何在ASP.NET Core的视图中删除默认的01/01/0001?

时间:2019-07-19 22:05:04

标签: c# asp.net-mvc asp.net-core razor

我有一个文本框字段,该框需要允许用户选择日期,出于某种原因,它显示为:

01/01/0001,

(甚至对于整数字段也显示0)。

它允许使用日期选择器,并且工作正常,但是如何更改默认值,有没有办法将其设置为空白?

如何更改此设置以删除默认设置?

我尝试使我的数据模型中的属性在DbContext中可为空。这似乎以前可行,但是不确定我是否更改了某些内容,并且不再在文本框中显示为MM / dd / yyyy。

型号:

[DataType(DataType.Date)]
public DateTime? Date { get; set; }

public int? Year { get; set; }

查看:

<input class="Date" asp-for="Date" type="date" />

<input class="Year" asp-for="Year" type="text" />

控制器:

public IActionResult ShowDate(string userName = null)
{
  var model = getModel.GetViewModel(userName);
  return View(model);
}

我希望将mm / dd / yyyy或类似的内容显示为占位符。

1 个答案:

答案 0 :(得分:-1)

这应该有效:

<input class="Date" asp-for="Date" type="date" value=0 />

以防万一,您必须确保在Controller中从评估中收到的是有效日期;或确保该日期不早于您默认设置的任何特定日期,在这种情况下,应返回null或“”,这应该可以解决问题。