2014-09-26 56 views
0

引導可以顯示一組inline checkboxes like this渲染枚舉爲inline引導複選框組

<label class="checkbox-inline"> 
    <input type="checkbox" id="inlineCheckbox1" value="option1"> 1 
</label> 
<label class="checkbox-inline"> 
    <input type="checkbox" id="inlineCheckbox2" value="option2"> 2 
</label> 
<label class="checkbox-inline"> 
    <input type="checkbox" id="inlineCheckbox3" value="option3"> 3 
</label> 

現在假設這些複選框必須來自於我的視圖模型的枚舉。因此,例如我有HolidayModel.RoomPrefs其是枚舉這樣的:

[Flags] 
enum ReservationPreferences { 
    Room = 2, 
    Breakfast = 4, 
    Lunch = 8, 
    Dinner = 16 
} 

我想渲染此枚舉作爲一組內聯的複選框(即上面的標記)。

我可以手動,但我寧願使用助手或編輯器模板,或其他通用的,因爲HolidayModel viewmodel有其他枚舉,所以我想重用的代碼。

剃鬚刀是否有一些開箱即可支持?

+0

[模型綁定枚舉標誌列表](http://stackoverflow.com/questions/9264927/model-bind-list-of-enum-flags)(不包含Bootstrap複選框,但很容易適應) – 2014-09-26 14:11:43

+0

@AdrianoRepetti哇,有趣但很複雜。正如你所說的,不適用於Bootstrap。我想知道是否有更簡單/更好的方法,因爲這個答案是在MVC之前的許多版本中編寫的。模型聯編程序也具有關於具體模型的知識,因此它不是通用的 - 可能是當時最好的解決方案。 – 2014-09-26 16:44:30

回答

0

目前,MVC沒有「開箱即用」的方式來做到這一點。您需要使用自定義模型綁定和/或編輯器模板和/或其他的組合。

我已經從我的viewmodel中刪除了枚舉,並用一系列醜陋的bool s代替。做這份工作。