2013-11-01 37 views
0

在我的MVC視圖中,我正在顯示dropDownList。它包含我從數據庫中檢索到的日期列表。日期都是日期和時間組合,我不需要顯示時間。如何設置@ Html.DropDownList的dataTextFormatString

如何設置顯示格式。我的編碼如下所示;

視圖

@Html.DropDownList("regdate"); 

控制器

ViewBag.regdate= new SelectList(regdatesList); 

如何使用的東西DataFormatString = "{0:dd/MM/yyyy}"樣解決呢?

編輯
查詢中使用,以獲得日期

var regdatesList=from s in datahandler.students 
      select s 
+0

你是如何填充'regdatesList'? –

+0

在數據庫上使用linq查詢。 –

+0

該查詢與此問題非常相關。 –

回答

0

試試這個:

String myDate = myDateTime.ToString("dd/MM/yyyy"); 
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
var regdatesList = datahandler.students.Select(d => new SelectListItem 
{ 
    Text = d.ToShortDateString(), 
    Value = d.ToShortDateString() 
}); 

ToShortDateStringculture-sensitive,這意味着它會調整取決於用戶的區域性設置日期的顯示。這意味着您的用戶總是根據他們的文化得到適當的日期表示。如果你想確保每個人的日期格式都是dd/MM/yyyy,不管他們來自何處,那麼道格拉斯的答案就是要走的路。

Text屬性表示將爲列表中的每個項目顯示的文本。 Value屬性表示您想要與該項目關聯的值,因此您可以將其保留爲日期或將其設置爲數據庫中其他適當的字段。