2015-04-22 79 views
0

我想做一個複選框與我的模型的布爾值。它的工作原理,但現在我想一些數據 - *字段添加到複選框爲了參數添加到不錯bootstrap-switch組成部分,這是行不通的:radiobuttonfor與數據與奇怪的行爲

<input data-val="true" id="actionList_0__efficacity" name="actionList[0].efficacity" type="radio" value="{ data_on_text = YEAH}"> 

它應該是

<input data-val="true" id="actionList_0__efficacity" name="actionList[0].efficacity" type="radio" data-on-text = "YEAH"> 

所以這是我做了什麼:

@Html.RadioButtonFor(x => x.efficacity, new { data_on_text = "YEAH" }) 

我已經嘗試過了EditorFor因爲我不能把data_中與EditorFor顯然...

感謝您的幫助

+0

這是因爲RadioButtonFor的是採用HTML屬性超載有三個參數,表達式,值和屬性。你只有兩個,所以它使用了兩個參數重載,它將你的「data_on_text」視爲按鈕的直接文字值。 –

回答

1

HTML和你表現出不太匹配助手(html的建議您生成單選按鈕的集合,因爲它包含一個索引或者你有類型的EditorTemplate代表屬性actionList?),但RadioButtonFor()的第二個參數是設置'value'屬性的對象。您需要助手更改爲

@Html.RadioButtonFor(x => x.efficacity, someValue, new { data_on_text = "YEAH" }) 

其中someValue是將被分配到財產efficacity值(例如stringenum

+0

@ Html.RadioButtonFor(x => x.efficacity,false,new {data_on_text =「YES」,data_off_text =「NO」})是我的解決方案,再次感謝 – clement

+0

嗯。當你「使用bool值設置複選框」_ :)時,我有點困惑。但是,它會自行工作嗎? - 你需要第二個帶'true'的,否則它總會回傳'false' –

+0

是的,我想用複選框..我不知道我爲什麼要談論無線電... – clement