如何设置@ Html.DropDownList的dataTextFormatString

时间:2013-11-01 11:53:59

标签: c# asp.net-mvc date-format

在我的MVC视图中,我正在显示dropDownList。它包含我从数据库中检索的日期列表。日期包括日期和时间组合。我不需要显示时间。

如何设置显示格式。我的编码如下;

查看

@Html.DropDownList("regdate");  

控制器

ViewBag.regdate= new SelectList(regdatesList);  

如何使用DataFormatString = "{0:dd/MM/yyyy}"类似的东西来解决这个问题?

EDIT
查询用于获取日期

var regdatesList=from s in datahandler.students  
            select s

3 个答案:

答案 0 :(得分:1)

您可以在控制器上执行此操作。

你的CSHTML:

@Html.DropDownList("regdate", YourController.Get_List(), " ")

你的控制器:

public static IEnumerable<SelectListItem> Get_List()
        {
            var selectList = (from c in table
                        select new SelectListItem
                        {
                            Text = c.Date_In_Table.ToString("dd/MM/YYYY"),
                            Value = c.Date_In_Table
                        }
                    );

            return selectList;

    }

答案 1 :(得分:1)

var regdatesList = datahandler.students.Select(d => new SelectListItem
{
    Text = d.ToShortDateString(),
    Value = d.ToShortDateString()
});

ToShortDateStringculture-sensitive,这意味着它会根据用户的文化设置调整日期显示。这意味着您的用户总是根据他们的文化得到适当的日期表示。如果你想确保每个人的日期都是dd/MM/yyyy格式,无论他们来自哪里,那么道格拉斯的答案就是你要做的。

Text属性表示将为列表中的每个项目显示的文本。 Value属性表示您要与该项关联的值,因此您可能希望将其保留为日期或将其设置为数据库中的其他适当字段。

答案 2 :(得分:0)

试试这个:

   String myDate = myDateTime.ToString("dd/MM/yyyy");