2011-05-13 54 views
3

基本上我想要根据从我的模型视图控件的值进行检查我的单选按钮,下面是一些示例代码和我的尝试到目前为止:对单选按钮ASP.NET MVC使用布尔值来检查属性

<tr> 
       <td> 
       <label for="brakepads" class="label3">Brake Pads:</label></td> 
       <%= Html.TextBox("brakepads", Model.brakepads, new {style="display:none" })%> 
       <%= Html.ValidationMessage("brakepads", "*") %> 

       <td><label for="brakefluid" class="label4" >Passed:</label> 
       <asp:RadioButton ID="RadioButton15" runat="server" GroupName="b" value="True" Checked="<%= Model.brakepads.Value %>" onclick="brakepads.value=(this.value)" /></td> 
       <td><label for="brakefluid" class="label4" >Failed:</label> 
       <asp:RadioButton ID="RadioButton16" runat="server" GroupName="b" value="False" Checked="<% Model.brakepads.Value %>" onclick="brakepads.value=(this.value)"/></td> 
       </tr> 

我在运行时得到以下内容:无法为'Checked'属性的字符串表示'<%= Model.brakepads.Value%>'创建类型为'System.Boolean'的对象。

我试过使用(布尔)来施放,但那也没有效果,所以我不确定下一步该做什么。我唯一担心的是偶尔布尔将是空的,如果这不会破坏功能,那么它很好。

回答

0

无论您使用Html.RadioButton或有其他MVC隐藏字段,并绑定Model.brakepads它。使用javascript来设置单选按钮的Checked属性。

2

您正在将WebForms控件(RadioButton)与ASP.NET MVC帮助器(Html.TextBox)混合使用,我认为这是一种危险的做法。

你可以尝试使用Html.RadioButton()辅助方法来呈现一个单选按钮:

<td><label for="brakefluid" class="label4" >Passed:</label> 
<%= Html.RadioButton("brakefluid", true, Model.brakepads.Value) %></td> 
<td><label for="brakefluid" class="label4" >Failed:</label> 
<%= Html.RadioButton("brakefluid", false, !Model.brakepads.Value) %></td>  
6

如何在ASP.NET MVC 3剃须刀C#做一个布尔单选按钮列表

我们想要什么HTML是

Apply discount: 
<input type="radio" name="apply_discount" value="yes" /> Yes 
<input type="radio" name="apply_discount" value="no" /> No 

我们需要一个模型属性

public bool ApplyDiscount { get; set; } 

现在我们所要做的就是将html转换成剃须刀

Apply discount: 
@Html.RadioButtonFor(m => m.ApplyDiscount, true) Yes 
@Html.RadioButtonFor(m => m.ApplyDiscount, false) No 

我希望这有助于。

+0

不错............ – shanish 2014-02-04 04:07:03