这是我的ViewModel类,我用单选按钮和复选框绑定它
public class MyListViewModel
{
public bool Isselected { get; set; }
public Int32 ID { get; set; }
public string EmpName { get; set; }
}
问题:在控制器类中的复选框中,如果选中,我可以看到带有绑定模型的IsSelected属性。但是如果是单选按钮,它总是显示为假的。任何帮助都感谢
复选框
剃刀码
@Html.CheckBox(myListObj.Isselected.ToString(), myListObj.Isselected,
new { id = myListObj.Isselected.ToString() })
生成的HTML
<input type="checkbox" value="true" name="myListObj[0].Isselected" id="22">
<input type="hidden" value="false" name="myListObj[0].Isselected">
无线按钮
剃须刀:
@Html.RadioButton(myListObj.Isselected.ToString(), myListObj.ID,
myListObj.Isselected, new { id = myListObj.Isselected.ToString() })
Html:
<input type="radio" value="6"
name="myListObj[0].Isselected" id="myListObj[0].Isselected">
这里有什么问题吗?
Edited:
What could be the code for binding a model with multiselect radio button.
I mean user can select more than one Employee from a list.
I want to know what are the employees selected with the help of Model Binding
class with the property IsSelected. Please suggest me the possible way.
发布于 2012-12-19 19:34:07
单选按钮的value
属性是发送给服务器的,因此在本例中,值6
正在发送,但服务器无法将6
插入Isselected
b/c Isselected
类型为boolean
。
您需要将html更改为
@Html.RadioButton(myListObj.Isselected.ToString(), true, myListObj.Isselected, new { id = myListObj.Isselected.ToString() })
请注意,我是如何将myListObj.ID
更改为true
的。这表示浏览器“如果用户选择此单选按钮,将值true
发送到服务器”。
或者,您可以将Isselected
更改为double?
并继续使用ID
值。这样,如果没有选择单选按钮,服务器将看到null
;如果被选中,服务器将看到6
。
https://stackoverflow.com/questions/13954177
复制相似问题