Frage

Ich habe eine ASP.NET MVC-Anwendung, die mit einer einzigen Anzeige, um die Eigenschaften und die Kinder (mit Ihren Eigenschaften) eines Modells eine Entität.

Mein Modell sieht wie folgt aus:

public class Market
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public IList<EmailAddress> EmailAddresses { get; set; }
}
public class EmailAddress 
{
    public virtual int ID { get; set; }
    public virtual int MarketID { get; set; }
    public virtual string Email { get; set; }
}

Auf die Ansicht, die ich verwenden möchten, eine Tabelle zum anzeigen der Liste der verbundenen E-Mail-Adressen.Um dies zu tun, ich bin mit Html.Raster.

<%= Html.Grid(Model.EmailAddresses).Columns( column =>
    {
        column.For(x => x.Email + Html.Hidden("ID", x.ID)).Encode(false).Sortable(false);
    })
    .Attributes(style => "width:100%")
    .Attributes(id => "emailGrid")
    .Empty("There are no Email Addresses set up") %>

Jedoch, wenn ich dies tun, die ausgeblendet-ID ist, die von der übergeordneten Entität den Markt, das nicht von der Email-Adresse.

Wie kann ich Abhilfe schaffen?

War es hilfreich?

Lösung

Es scheint, könnte es ein bug in der WebGrid.Haben Sie versucht, die Umbenennung der ID-Feld in der EmailAddress Klasse, z.B.EmailID und übergeben, die WebGrid und sehen, ob Sie richtig angezeigt wird?

Andere Tipps

Dies funktioniert für mich, könnte es sein, dass Sie etwas falsch in der Füllung des Modells?

Da Sie mit der lambda-Ausdruck für den Column.For() Methode, die x-parameter ist wieder die Bezugnahme auf eine einzelne E-Mail.Ich denke, du meinst beziehen sich auf das Modell, nicht eine einzige E-Mail-ID

Anstatt das zu tun, x.ID, ich denke, Sie wollen einfach nur, Modell.ID

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top