2015-04-22 81 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