#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()