Вопрос по razor, asp.net-mvc-3 – asp.net mvc 3 бритва получить один элемент из IEnumerable

11

Я мой вид модели (СПИСОК) выглядит следующим образом:

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; }
    }

это мой взгляд

@model IEnumerable<NGGmvc.Models.ConversationModel>

Как я могу получить ToUserID на текущее положение? что-то вроде этого

@Model [0] .ToUserID

Спасибо

Ваш Ответ

3   ответа
15

Вы должны быть в состоянии сделать:

@Model.First().ToUserID

Обратите внимание, что вы можете сначала проверить, есть ли какие-либо элементы в перечислимом, как если бы их не было, затем First () вернет null

(Обратите внимание, поскольку у вас @Model [0] в вашем вопросе, я предполагаю, что вы специально пытаетесь получить первое значение. Возможно, у меня неправильный конец стержня, и в этом случае ответ Якуба должен уладить вас!)

AdTheDev, где я могу получить MVC Model Jedi Knowledge. Ваш ответ решил мою проблему. К следующей проблеме.
Обратите внимание, что@Model.First() выдаст исключение, если данные не найдены. Другой вариант заключается в использовании@Model.FirstOrDefault() который возвращает нуль, если данные не найдены, если, например, существует вероятность того, что данные не будут существовать.
2

@Model.First().ToUserID

Однако, если ваша модель будет ссылаться только на первый элемент перечисления в представлении, я бы порекомендовал вам передать этот элемент только представлению.

Например:

@model ConversationModel

@Model.ToUserID

И в контроллере передают только первый элемент, который требуется:

List<ConversationModel> conversationList = //your conversation model initialisation code
return View(conversationList.First());
Я только что видел другие ответы, и теперь я спрашиваю, о чем вы спрашиваете? Это первый элемент перечислимого типа, который вам требуется, или каждый элемент?
1
@foreach(var model in Model)
{
    @model.ToUserID
}
это не сработает ....

Похожие вопросы