#c# #asp.net-mvc #list #ienumerable
#c# #asp.net-mvc #Список #ienumerable
Вопрос:
Я получаю данные из БД в IEnumerable и показываю в виде списка в представлении ASP.Net MVC. Я хочу взять определенный столбец, который содержит значения что-то вроде «A» для активного, «D» для деактивированного и т.д. Итак, я хочу преобразовать эти символы в правильную строку для отображения в представлении. Как это сделать? Я ценю любую помощь.
public string GetStatusPagamento(int fileCodigo)
{
var statusPgto = _context.GetFileByFileCode(fileCodigo).Select(s =>
s.StatusPagamento).FirstOrDefault();
#region switch pagto
switch (statusPgto.ToString())
{
case "A":
return "Ativo";
case "D":
return "Ativo";
case "E":
return "Cancelado";
case "M":
return "Reembolsado";
case "R":
return "Ativo";
case "X":
return "Cancelado";
default:
return "Indefinido";
}
#endregion
}
Предполагалось, что вместо символа в представлении будет отображаться строка.
Ответ №1:
Решение, которое я нашел, состояло в том, чтобы создать в моей модели еще один атрибут под названием «SwitchStatusPagto», который создает случай переключения состояний, и я вызываю этот атрибут непосредственно в своем представлении.
public string SwitchStatusPagto
{
get
{
if (!string.IsNullOrEmpty(StatusPagto))
{
switch (StatusPagto)
{
case "A":
case "D":
case "R":
return "Ativo";
case "E":
case "X":
return "Cancelado";
case "M":
return "Reembolsado";
default:
return StatusPagto;
}
}
return string.Empty;
}
}
<td>@Html.DisplayFor(fr => itemRequisicao.SwitchStatusPagto)</td>
Примечание: «возвращаемая строка.Пустой» был необходим, чтобы избежать исключения нулевой ссылки, если данные равны нулю.