我正在创建一份月度销售报告。所以在日期输入中,我只需要月份和年份,而不需要日期。我在输入中使用了type month。
这是我的观点:
<div class="form-group">
<label for="Date">Date</label>
<input type="month" class="form-control" name="Date" id="Date" />
</div>
我需要将此日期与我在型号中的日期进行比较
public DateTime Entrydate { get; set; }
在控制器中,用于比较输入日期和输入日期
private IEnumerable<Sale>GetFilteredData(IEnumerable<Sale> DateTime? Date)
{
if (Date != null || Date != default(DateTime))
{
result = result.Where(a => a.Entrydate >= Date);
}
}
当我在输入中使用type = date
时,它起作用,但当我使用month时,它不起作用。为了解决这个问题,我需要做哪些更改?
您可以使用日期选择器仅选择月份和年份。datepicker需要一些像这样的库
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" rel="stylesheet" />
在您可以为输入编写日期选择器之后
<script>
$(function () {
$('#datepicker').datepicker({
format: 'mm/yyyy',
startView: "months",
minViewMode: "months",
language: "tr"
});
});
</script>
你的输入必须像一样
<div class="form-group">
<div class='input-group date datepicker' id='datepicker'>
<input type='text' class="form-control" asp-for="MyProperty" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
模型属性
[DisplayFormat(DataFormatString = "{0:MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime MyProperty { get; set; }