2014-02-13 65 views
0

我有一個具有TinyInt(1)數據類型的列的mySQL表設置。這代表一個布爾值。使用MVC處理tinyInt布爾值

0 =假; 1 =真。

我還建立了一個網站,使用asp.net和MVC設計向公司展示這些信息。現在,該表顯示爲列:

"Are Records Online"| [next column] 
------------------------------------ 
1     | junk 
1     | junk 
0     | junk 

不過,我想了1和0的顯示爲「真/假」或「是/否」。基本上只是更方便用戶的東西。

我應該怎麼做?隨着對的ViewPage本身或與控制器如foreach循環的腳本:

foreach(ListViewModel i in DefaultList) 
      { 
       if(i.RecordsOnline == true) 
       { //set to 'yes' 
       } 
       else if(i.RecordsOnline = false) 
       { //set to 'no' 
       } 
      } 

回答

0

只需使用一個簡單的三元打印文本的相應位在您的視圖:

@(i.RecordsOnline ? "Yes" : "No") 
0

你可以使用ENUM('yes', 'no')而不是TINYINT。每個值相同的一個字節,但更加用戶友好。

0

您可以基於bool類型創建DisplayTemplate,因爲您似乎將模型中的tinyint轉換爲bool。

-- YesNo.cshtml 
@model bool 

@(Model ? "Yes" : "No") 

地說〜/查看/共享/ DisplayTemplates的文件夾裏面

您可以使用它像這樣:(假設RecordsOnline是模型的一部分,是一個布爾)

@Html.DisplayFor(m => m.RecordsOnline, "YesNo")