trstill Ответов: 1

Mvc отображает альтернативный текст в подробном представлении


У меня есть несколько полей в базе данных, которые имеют 1 символ (Char(1))
например:
Статус хранится в базе данных как I или A для неактивных или активных.
Как я могу отобразить текст I как "неактивный" и A как "активный" в детальном представлении на основе значения поля 1 символ?

Заранее спасибо.

Что я уже пробовал:

Поиск по MVC отображение альтернативного текста

1 Ответов

Рейтинг:
1

MadMyche

Проще всего было бы "интерпретировать" это самостоятельно.
Потребности бизнеса будут диктовать, где лучше всего это сделать; и будут реализованы каким-то образом с помощью простых if...then...else логика.

Одним из способов сделать это было бы через Расширение метод. Вот один из способов определить это

namespace System {
  public static class Extensions {
    public static string InterpretActiveInactive(this string ActiveInactiveCharacter) {
      if (ActiveInactive == "A") { return "Active"; }
      else { return "Inactive"; }
    }
  }
}
И тогда везде, где его нужно использовать, он может быть вызван; так как это Презентация элемент слоя я бы назвал его на самом виде
Current Status: @Model.Fieldname.InterpretActiveInactive()

Обновленный
У Microsoft действительно есть DisplayExtensions класс, с которым вы можете работать с помощью DisplayFor() методы и пишите свои собственные Html-помощники по мере необходимости.

Прошло почти 10 лет с тех пор, как я работал с ним; хотя он действительно позволяет вам делать то, что вы хотите, я считаю, что кодирование, связанное с ним, не стоит времени и накладных расходов.


Afzaal Ahmad Zeeshan

5ед.

trstill

MadMyche,
Спасибо. В этом есть смысл. Я подумал, что для этого может быть стандартная функция MVC.
Просто изучаю MVC.
Я попробую это сделать

MadMyche

MS На самом деле имеет свои собственные методы расширения, которые вам все равно нужно будет сделать интерпретацию. Я обновил свой ответ, и вы можете провести исследование по этому вопросу, если захотите