我试图在ASP.NET MVC 3中创建自己的帮助函数。不确定我是否在正确的路径上。我有一个名为Active的布尔属性,当我在显示视图上显示该属性时,文本是“True”或“False”。所以我想写自己的助手接受这个布尔值,并返回“是”或“否”。我需要帮助吗,还是有更短的方法?
这是我目前所拥有的,它没有编译,有人可以请帮助我吗?随附的单元测试将不胜感激。
public static IHtmlString ConvertBooleanToYesNo(this HtmlHelper htmlHelper, bool value)
{
string str = string.Empty;
if (value)
{
return htmlHelper.Encode("Yes");
}
else
{
return htmlHelper.Encode("No");
}
}
更新
错误是:
无法将类型'string'隐式转换为'System.Web.IHtmlString'
我知道我必须转换它,但只是想知道这是否是最好的方法呢?
答案 0 :(得分:5)
HtmlHelper.Encode返回一个String对象而不是IHtmlString。
使用return new HtmlString("Yes");
或者只是
public static IHtmlString ConvertBooleanToYesNo(this HtmlHelper htmlHelper, bool value) {
return new HtmlString(value ? "Yes" : "No");
}
HtmlString类将为您处理编码,但在简单的“是/否”字符串的情况下,不需要编码。