ASP.NET Цикл обработки данных модели MVC

#asp.net-mvc

#asp.net-mvc

Вопрос:

У меня есть строго типизированное представление, которое отображает данные из моей модели (которые поступают из таблицы базы данных), такие как:

Model.servicetype Модель.serviceid

Все поля в этой модели содержат значения true или false.

Я просто хотел выполнить цикл по модели и либо заменить значения true и false, либо создать какой-то общий список и вывести данные из него. введите описание изображения здесь

Обратите внимание, что это только для отображения, пользователь не может редактировать и т.д.

Надеюсь, это имеет смысл.

Спасибо

Комментарии:

1. В этом нет особого смысла. Пожалуйста, уточните

Ответ №1:

Итак… просто создайте метод static расширения и вызывайте, например, ToWord в вашем классе Utilities как

 public static string ToWord(this bool value)
{
    return value ? "Yes" : "No";
}
  

и затем используйте:

 <%= Html.Encode(Model.breakpads.ToWord()) %>
  

PS Со всеми простыми представлениями Razor … почему вы используете представления WebForm? Rzor намного проще! 🙂

Ответ №2:

 <%= string.Join(string.Empty,
    ViewData
    .ModelMetadata
    .Properties
    .Where(x => x.ModelType == typeof(bool))
    .Select(x => new { 
                           Name = x.GetDisplayName(), 
                           Value = (bool)x.Model
                     })
    .Select(x => string.Format(@"
<tr>
    <td>{0}</td>
    <td>{1}</td>
</tr>",
        x.Name,
        Html.Encode(x.Value ? "Yes" : "No"))
        .ToArray()))                            
%>
  

Обратите внимание, что в .NET 4.0 нет необходимости вызывать toArray()