如何将默认值设置为DateTime参数

Sim*_*mba 5 c# asp.net-mvc datetime

在我的MVC应用程序中,我想为DateTime参数设置默认值.

[HttpPost]
public ActionResult BudgetVSActualTabular(DateTime startDate)
{
    var Odata = _db.sp_BudgetedVsActualTabular(startDate).ToList();    
    string[] monthName = new string[12];    
    for (int i = 0; i < 12;i++ )
    {
        DateTime date = startDate;
        date = date.AddMonths(i);
        monthName[i] = date.ToString("MMMM") + " " + date.Year.ToString();     
    }

    ViewBag.startDate = new SelectList(_db.DaymonFinancialYears, "startDate", "DateRange");    
    var MonthName = monthName.ToList();
    ViewBag.Bdata = Odata;
    ViewBag.Cdata = MonthName;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

Sal*_*ari 9

您不能将a设置null为a,DateTime但可以使用Nullable DateTime参数:

[HttpPost]
public ActionResult BudgetVSActualTabular(DateTime? startDate = null )
{ 
    if (startDate == null)
    {
        startDate  = new DateTime(2016, 06, 01);
    }
    //You should pass startDate.Value
    var Odata = _db.sp_BudgetedVsActualTabular(startDate.Value).ToList();

}
Run Code Online (Sandbox Code Playgroud)