将当前日期设置为默认值 DRopdownListFor
Set current Date as Default Value DRopdownListFor
如问题所述,我想将 Html.DropdownList 中的默认值设置为格式为 yyyy-mm-dd 的实际日期,但我不知道如何设置它:
这是我的控制器 ViewBag:
foreach (var item in db.Pos.Select(l => l.Fecha).Distinct())
{
dateday = item.ToString("yyyy-MM-dd");
lines = dateday.Split(' ')[0];
listItem2.Add(lines);
}
var fechas = new SelectList(listItem2.ToList());
ViewBag.Fechas = fechas;
这是我的视图 HtmlDRopdown:
@Html.DropDownList("Fechas", "Todas")
如何根据实际日期设置默认值?
假设您的 LINQ 表达式 b.Pos.Select(l => l.Fecha).Distinct()
returns 是 DateTime
.
的集合
var list = new List<SelectListItem>();
var today = DateTime.Now;
foreach (var item in db.Pos.Select(l => l.Fecha).Distinct())
{
var dateday = item.ToString("yyyy-MM-dd");
var listItem = new SelectListItem { Value = dateday, Text = dateday };
listItem.Selected = today.Day == item.Day;
list.Add(listItem);
}
ViewBag.Fechas = list;
在您看来,
@Html.DropDownList("Fechas")
这将生成名称为 "Fechas" 的 SELECT 元素,其中包含日期(采用我们指定的格式),今天的日期将 selected。
如果您希望 select 元素具有不同的名称,您可以考虑使用不同的重载,例如
@Html.DropDownList("MyCustomElementName",ViewBag.Fechas as List<SelectListItem>)
我个人不喜欢使用 ViewBag !我喜欢 use a view model and the DropDownListFor helper method.
如问题所述,我想将 Html.DropdownList 中的默认值设置为格式为 yyyy-mm-dd 的实际日期,但我不知道如何设置它:
这是我的控制器 ViewBag:
foreach (var item in db.Pos.Select(l => l.Fecha).Distinct())
{
dateday = item.ToString("yyyy-MM-dd");
lines = dateday.Split(' ')[0];
listItem2.Add(lines);
}
var fechas = new SelectList(listItem2.ToList());
ViewBag.Fechas = fechas;
这是我的视图 HtmlDRopdown:
@Html.DropDownList("Fechas", "Todas")
如何根据实际日期设置默认值?
假设您的 LINQ 表达式 b.Pos.Select(l => l.Fecha).Distinct()
returns 是 DateTime
.
var list = new List<SelectListItem>();
var today = DateTime.Now;
foreach (var item in db.Pos.Select(l => l.Fecha).Distinct())
{
var dateday = item.ToString("yyyy-MM-dd");
var listItem = new SelectListItem { Value = dateday, Text = dateday };
listItem.Selected = today.Day == item.Day;
list.Add(listItem);
}
ViewBag.Fechas = list;
在您看来,
@Html.DropDownList("Fechas")
这将生成名称为 "Fechas" 的 SELECT 元素,其中包含日期(采用我们指定的格式),今天的日期将 selected。
如果您希望 select 元素具有不同的名称,您可以考虑使用不同的重载,例如
@Html.DropDownList("MyCustomElementName",ViewBag.Fechas as List<SelectListItem>)
我个人不喜欢使用 ViewBag !我喜欢 use a view model and the DropDownListFor helper method.