我有一个复选框组,它有三个不同的值。存储和未存储是一个布尔值,“等待”是字符串值。我正在将一个字符串值传递给check bok。我有一个错误,说无法将bool转换为字符串...
状态
<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>
我该怎么办?
答案 0 :(得分:1)
我同意balexandre的回答,但我认为在空值的情况下使用'Equals'会更好。
写'cond?true:false'是没用的。 'cond'有效。
<div class="field forCheckbox">
<%:Html.CheckBox(model => {return "Waiting".Equals(model.Waiting)})%>
<%:Html.LabelFor(model=>model.Waiting) %>
</div>
答案 1 :(得分:0)
您可以使用
<%: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)%>