[英]SelectList ToShortDateString viewbag
My project is MVC5, using EF 6.1; 我的项目是使用EF 6.1的MVC5; I generate dropdownlist using the following:
我使用以下方法生成下拉列表:
Model: 模型:
public partial class LogBook
{
public string ID { get; set; }
public string TheName { get; set; }
public System.DateTime Day { get; set; }
}
Controller: 控制器:
var list = db.LogBook.Where(i => i.TheName == xxx).OrderByDescending(x => x.Day).ToList();
ViewBag.Logbooks = new SelectList(list, "ID", "Day");
View: 视图:
@Html.DropDownList("logbookdate", ViewBag.LogBooks as SelectList)
The result shows: 结果显示:
11/11/2014 12:00 AM
How can I just display the date? 我怎样才能显示日期?
Try this: 尝试这个:
var list = db.LogBook.Where(i => i.TheName == xxx).Select(d=> new {ID= d.TheName, Day = d.Day.ToShortDateString()).OrderByDescending(x => x.Day).ToList();
ViewBag.Logbooks = new SelectList(list, "ID", "Day");
Haven't done practical but should work. 尚未完成实际操作,但应该可以工作。
Edit: 编辑:
IEnumerable<SelectListItem> selectList =
from c in db.LogBook
where c.TheName equals xxx
select new SelectListItem
{
Text = c.ID,
Value = c.Day.ToShortDateString()
};
Then bind it to dropdonwlist on front. 然后将其绑定到前面的dropdonwlist。
You can give it a try. 您可以尝试一下。 I have not checked syntax.
我没有检查语法。 Hope its fine.
希望它很好。
Try this: 尝试这个:
var list = db.LogBook.Where(i => i.TheName == xxx).OrderByDescending(x => x.Day).ToList();
Change in query 查询变更
IEnumerable<SelectListItem> selectList = db.LogBook
.Where(i => i.TheName == xxx)
.Select(c => new SelectListItem
{
Text = c.ID,
Value = c.Day.ToShortDateString()
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.