真的很简单的问题。
我有一个 MVC 视图,它显示一个 Nullable Bool,例如,
Html.CheckBoxFor(model=>model.NullableBoolHere, Model.NullableBoolHere,
我想创建一个新的 html 助手,它将接受这种类型,然后转换
Null || False => False
True => True
所以我有以下
public static MvcHtmlString CheckBoxFor<TModel>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, bool?>> expression, object htmlAttributes, bool disabled)
{
IDictionary<string, object> values = new RouteValueDictionary(htmlAttributes);
if (disabled)
values.Add("disabled", "true");
Expression<Func<TModel, bool>> boolExpression = CONVERT_TO_BOOL_HERE(expression);
return htmlHelper.CheckBoxFor(expression, values);
}
任何帮助表示赞赏,我知道我将不得不使用递归来复制表达式,但只是不确定如何导航表达式本身,找到 bool?,转换为 bool。