2013-04-02 2 views
1

У меня есть этот класс:Как сделать Html.DisplayДля работы в этом случае?

public class UserMessage 
{ 
    public int UserMessageId { get; set; } 

    [Required] 
    [StringLength(50)] 
    public string Name { get; set; } 

    [Required] 
    [EmailAddress] 
    public string Email { get; set; } 


    [Required] 
    public string MessageType { get; set; } 

    [Required] 
    [StringLength(300)] 
    [DataType(DataType.MultilineText)] 
    public string Message { get; set; } 


} 

И в представлении у меня есть:

@model IEnumerable<Kekanto.Models.UserMessage> 

@foreach (var message in Model) 
{ 
@Html.DisplayFor(message) 

} 

Я хочу, чтобы отобразить данные в представлении .... Я donw знаю, как поступить в этом случае ... Я знаю, что могу сделать @ Html.DisplayFor (message => message.Message) и написать Display для всех полей ... Но мне было интересно, могу ли я сделать с одним коммандом

ответ

1
@{ 
    string str = ""; 
    foreach (var message in Model) 
     { 
      str = str + message ;  
     } 
} 
@Html.Raw(str) 
+0

, что является возможным решением, ТНХ ... я нашел еще один тоже .... @foreach (Var сообщение модели) { @ Html.DisplayFor (сообщение1 => сообщение) } –

1

вместо использования DisplayFor вы можете просто использовать Display

@foreach (var message in Model) 
{ 
    Html.Display(message) 

} 

Но если вы только отображение данных я бы использовать что-то другое, чем дисплей может быть Html.Raw()

+0

нет успеха ТНХ в любом случае –

+0

вы уверены, что вы хотите использовать дисплей –

0

Как насчет .net?

@string.Join(", ", Model.Select(T => T.Message)) 
Смежные вопросы