问题描述
|
我有复选框组,它具有三个不同的值。存储和不存储的是布尔值,而“ waiting \”是字符串值。我正在将字符串值传递给检查树。我有一个错误,说无法将布尔值转换为字符串...
状态
<div class=\"field forCheckbox\">
<%:Html.CheckBoxFor(model => model.Stored)%>
<%:Html.LabelFor(model => model.Stored)%>
</div>
<div class=\"field forCheckbox\">
<%:Html.CheckBoxFor(model => model.Not Stored)%>
<%:Html.LabelFor(model => model.Not Stored)%>
</div>
<div class=\"field forCheckbox\">
<%:Html.CheckBoxFor(Convert.boolean(model=>model.Waiting))%>
<%:Html.LabelFor(model=>model.Waiting) %>
</div>
我该怎么办?
解决方法
我同意balexandre的回答,但是我认为最好在空值的情况下使用'Equals \'。
而且写'cond?true:false \'是没有用的。 \'cond \'有效。
<div class=\"field forCheckbox\">
<%:Html.CheckBox(model => {return \"Waiting\".Equals(model.Waiting)})%>
<%:Html.LabelFor(model=>model.Waiting) %>
</div>
,您可以使用
<%:Html.CheckBox(\"Waiting\",Model.Waiting.ToLower() == \"waiting\"))%>
或将boolean
属性添加到模型中:
public bool WaitingBool {
get {
if(!String.IsNullOrEmpty(this.Waiting) &&
this.Waiting.ToLower() == \"waiting\")
return true;
return false;
}
}
您可以使用:
<%:Html.CheckBoxFor(model=>model.WaitingBool)%>