2017-08-15 33 views
0

我有一个可以启动选中一个单选按钮,但即使条件为假,它的书面方式在HTML checked属性,浏览器显示托运未检查单选按钮ASPNET MVC

@Html.RadioButton("radio", "1", new { @checked = (condition) }) @Html.RadioButton("radio", "2", new { @checked = (condition) })

+0

因为你'@checked = (condition)'。它是否存在确定单选按钮是否被选中(checked =“checked”或“checked =”false“”或“checked =”AnythingAtAll'都表示同样的东西 - 它将被检查 –

+0

你想在这里做什么,它的属性'radio'的值决定了被检查的内容,如果它的'1'第一个将被选择,如果它的第二个将被选中,否则不会是什么样的“类型”和价值或你的财产 –

回答

1

我觉得正确使用将是本

@Html.RadioButton("radio", "1", (condition)) 

根据RadioButton ,单选按钮构造定义为

RadioButton(string name,Object value, bool isChecked) 

这将产生

<!-- isChecked is true. --> 
<input type="radio" name="name" value="value" checked="checked" /> 
<!-- isChecked is false. --> 
<input type="radio" name="name" value="value" /> 

我认为你要使用它不需要新htmlattribute。

0

您用于@Html.RadioButton的过载采用HTML属性。当您指定checked = (condition)时,您将指定具有值的属性checked

对于HTML输入,不是将checked值设置为true或false的情况。 checked属性的存在意味着控件被检查。所以只需checkedchecked = "",甚至checked = "false"都将导致检查控制。

又见此相关的问题:What's the proper value for a checked attribute of an HTML checkbox?

你的情况,你会与过载HtmlHelper.RadioButton Method (String, Object, Boolean)它可以让你的控件是否不检查指定一个布尔值更好。

0

只是检查在控制器和电源布尔您的病情通过ViewBag

@ Html.RadioButton( “TestButton”, “价值”,(布尔)ViewBag.DefaultValue)