Pergunta sobre asp.net-mvc-3, razor – asp.net mvc 3 razor obter um elemento de IEnumerable

11

Eu meu modelo de visão (LIST) se parece com isso:

public class ConversationModel 
    {
        public int ID { get; set; }
        public string Body { get; set; }
        public DateTime Datetime { get; set; }
        public string Username { get; set; }
        public string ImgUrl { get; set; }
        public string ToUserID{ get; set; }
    }

esta é a minha opinião

@model IEnumerable<NGGmvc.Models.ConversationModel>

Como posso obter ToUserID na posição atual? algo assim

@Model [0] .ToUserID

obrigado

Sua resposta

3   a resposta
1
@foreach(var model in Model)
{
    @model.ToUserID
}
isso não vai funcionar .... Kevin Lira
2

Você deve poder usar o seguinte:

@Model.First().ToUserID

No entanto, se o seu modelo sempre referenciar o primeiro elemento da enumeração na exibição, eu recomendaria que você passasse esse elemento somente para a exibição.

Por exemplo:

@model ConversationModel

@Model.ToUserID

E no controlador só passa o primeiro elemento que é necessário:

List<ConversationModel> conversationList = //your conversation model initialisation code
return View(conversationList.First());
Acabei de ver as outras respostas e a partir disso estou questionando o que você está pedindo? É o primeiro elemento do tipo enumerável que você precisa ou todos os elementos? Dangerous
15

Você deveria ser capaz de fazer:

@Model.First().ToUserID

Note, você pode querer verificar se há algum item no primeiro enumerável como se não houvesse, então First () retornará null

(Note, porque você tinha o @Model [0] em sua pergunta, eu suponho que você está especificamente tentando obter o primeiro valor. Eu posso ter o lado errado do stick, e nesse caso a resposta do Jakub deve te classificar!)

Observe que@Model.First() irá lançar uma exceção se os dados não forem encontrados. Outra opção é usar@Model.FirstOrDefault() que retornará null se os dados não forem encontrados, se houver uma chance de os dados não existirem por exemplo. jakobinn
AdTheDev, onde eu ganho MVC Model Jedi Knowledge. Sua resposta resolveu meu problema. Para o próximo problema. Moojjoo

Perguntas relacionadas