ASP.NET MVC 使用 bool 值作为单选按钮检查属性
基本上,我希望根据模型视图控件中的值检查单选按钮,下面是一些示例代码和迄今为止我的尝试:
<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>
我在运行时得到以下内容:无法从其对象创建“System.Boolean”类型的对象字符串表示 '<%= Model.brakepads.Value %>'对于“已检查”属性。
我尝试使用 (bool) 进行转换,但这也不起作用,所以我不确定下一步该怎么做。我唯一担心的是,有时 bool 会为空,如果这不会破坏功能那就没问题了。
Basically I want my radio buttons to be checked depending on a value from my model view control, below is some sample code and my attempt so far:
<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>
I get the following at runtime: Cannot create an object of type 'System.Boolean' from its string representation '<%= Model.brakepads.Value %>' for the 'Checked' property.
I tried using (bool) to cast, but that didn't work either, so I'm unsure of what to do next. My only concern is that occasionally the bool will be null, if that won't break functionality then it's fine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如何在 ASP.NET MVC 3 razor C# 中创建布尔单选按钮列表
我们想要的 html
我们需要一个模型属性
现在我们所要做的就是将 html 转换为 razor
我希望这会有所帮助。
How to do a boolean radio button list in ASP.NET MVC 3 razor C#
What we want the html to be
We need a model property
Now all we have to do is convert the html to razor
I hope this helps.
您将 WebForms 控件 (
RadioButton
) 与 ASP.NET MVC 帮助程序 (Html.TextBox
) 混合在一起,我认为这是一种危险的做法。您可以尝试使用
Html.RadioButton()
辅助方法来呈现单选按钮:You are mixing WebForms controls (
RadioButton
) together with ASP.NET MVC helpers (Html.TextBox
), I think it's a dangerous practice.You could try using
Html.RadioButton()
helper method to render a radio button:您可以使用
Html.RadioButton
或使用另一个 MVC 隐藏字段并将Model.brakepads
绑定到它。使用javascript
设置单选按钮的Checked属性。Either you use
Html.RadioButton
or have another MVC hidden field and bindModel.brakepads
to it. Usejavascript
to set radio button's Checked property.