Frage an razor, asp.net-mvc-3 – asp.net mvc 3 Rasierer erhalten ein Element von IEnumerable

11

Ich mein Ansichtsmodell (LIST) sieht so aus:

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

Das ist meine Ansicht

@model IEnumerable<NGGmvc.Models.ConversationModel>

Wie bekomme ich ToUserID für die aktuelle Position? etwas wie das

@Model [0] .ToUserID

Vielen Dank

Deine Antwort

3   die antwort
2

Sie sollten in der Lage sein, Folgendes zu verwenden:

@Model.First().ToUserID

Wenn Ihr Modell jedoch immer nur auf das erste Element der Aufzählung in der Ansicht verweist, würde ich empfehlen, dass Sie nur dieses Element an die Ansicht übergeben.

Zum Beispiel:

@model ConversationModel

@Model.ToUserID

Und in der Steuerung übergeben Sie nur das erste Element, das erforderlich ist:

List<ConversationModel> conversationList = //your conversation model initialisation code
return View(conversationList.First());
Ich habe gerade die anderen Antworten gesehen und danach frage ich mich jetzt, wonach du fragst? Ist es das erste Element des von Ihnen benötigten Aufzählungstyps oder jedes Element? Dangerous
15

Sie sollten in der Lage sein:

@Model.First().ToUserID

Beachten Sie, dass Sie möglicherweise zuerst prüfen möchten, ob Elemente in der Aufzählung vorhanden sind, als ob keine vorhanden wären. Dann gibt First () null zurück

(Da Sie @Model [0] in Ihrer Frage hatten, gehe ich davon aus, dass Sie speziell versuchen, den ersten Wert zu ermitteln. Ich habe möglicherweise das falsche Ende des Sticks. In diesem Fall sollte Jakubs Antwort Sie aussortieren!)

Beachten Sie, dass@Model.First() wird eine Ausnahme auslösen, wenn die Daten nicht gefunden werden. Eine andere Option ist zu verwenden@Model.FirstOrDefault() Dies gibt null zurück, wenn keine Daten gefunden wurden, wenn beispielsweise die Möglichkeit bestand, dass die Daten nicht existieren würden. jakobinn
AdTheDev, wo bekomme ich MVC Model Jedi Wissen. Ihre Antwort hat mein Problem gelöst. Auf zum nächsten Problem. Moojjoo
1
@foreach(var model in Model)
{
    @model.ToUserID
}
das wird nicht funktionieren .... Kevin Lira

Verwandte Fragen