Вспомогательная функция для логического свойства для отображения «да» или «нет» - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь создать свою собственную вспомогательную функцию в 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'

Я знаю, что должен преобразовать его, но мне было просто интересно, был ли это лучший способ сделать это?

1 Ответ

5 голосов
/ 17 февраля 2011

HtmlHelper.Encode возвращает объект String, а не IHtmlString.

Используйте return new HtmlString("Yes");

Или просто

public static IHtmlString ConvertBooleanToYesNo(this HtmlHelper htmlHelper, bool value) {
  return new HtmlString(value ? "Yes" : "No");
}

Класс HtmlString будет обрабатывать кодирование для вас, но в случае простого «Да»/ Нет 'строка, кодировка не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...