首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有收音机按钮的ASP.Net MVC3 ViewModel不工作

带有收音机按钮的ASP.Net MVC3 ViewModel不工作
EN

Stack Overflow用户
提问于 2012-12-19 14:10:58
回答 1查看 3.3K关注 0票数 10

这是我的ViewModel类,我用单选按钮和复选框绑定它

代码语言:javascript
运行
复制
public class MyListViewModel
{
    public bool Isselected { get; set; }
    public Int32 ID { get; set; }      
    public string EmpName { get; set; }
    
}

问题:在控制器类中的复选框中,如果选中,我可以看到带有绑定模型的IsSelected属性。但是如果是单选按钮,它总是显示为假的。任何帮助都感谢

复选框

剃刀码

代码语言:javascript
运行
复制
 @Html.CheckBox(myListObj.Isselected.ToString(), myListObj.Isselected, 
  new { id = myListObj.Isselected.ToString() })

生成的HTML

代码语言:javascript
运行
复制
 <input type="checkbox" value="true" name="myListObj[0].Isselected" id="22">
 <input type="hidden" value="false" name="myListObj[0].Isselected">

无线按钮

剃须刀:

代码语言:javascript
运行
复制
 @Html.RadioButton(myListObj.Isselected.ToString(), myListObj.ID, 
 myListObj.Isselected, new { id = myListObj.Isselected.ToString() }) 

Html:

代码语言:javascript
运行
复制
<input type="radio" value="6"
 name="myListObj[0].Isselected" id="myListObj[0].Isselected">

这里有什么问题吗?

代码语言:javascript
运行
复制
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.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-19 19:34:07

单选按钮的value属性是发送给服务器的,因此在本例中,值6正在发送,但服务器无法将6插入Isselected b/c Isselected类型为boolean

您需要将html更改为

代码语言:javascript
运行
复制
@Html.RadioButton(myListObj.Isselected.ToString(), true, myListObj.Isselected, new { id = myListObj.Isselected.ToString() })

请注意,我是如何将myListObj.ID更改为true的。这表示浏览器“如果用户选择此单选按钮,将值true发送到服务器”。

或者,您可以将Isselected更改为double?并继续使用ID值。这样,如果没有选择单选按钮,服务器将看到null;如果被选中,服务器将看到6

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13954177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档