Ich habe ein Problem, bei dem die view
es mir nicht erlaubt, die vollständige Menge an Informationen anzuzeigen.Wie zeigen Sie Informationen aus einer anderen Klasse mit @ Html.DisplayFor?
WorseningParameter Klasse
public class MatrixWorseningParameter
{
[Key]
public int worseningParameterID { get; set; }
public int paramID { get; set; }
public int paramID2 { get; set; }
public virtual MatrixParameter MatrixParameters { get; set; }
public virtual ICollection<MatrixWorseningPrinciple> MatrixWorseningPrinciples { get; set; }
}
Parameterklasse
public class MatrixWorseningParameter
{
[Key]
public int worseningParameterID { get; set; }
[Display(Name = "Main Parameter")]
public int paramID { get; set; }
[Display(Name = "Worsening Parameter")]
public int paramID2 { get; set; }
public virtual MatrixParameter MatrixParameters { get; set; }
public virtual ICollection<MatrixWorseningPrinciple> MatrixWorseningPrinciples { get; set; }
}
Ansicht
@model Main.Models.Matrix.MatrixParameter
<tbody>
@foreach (var item in Model.MatrixWorseningParameters)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.paramID2)
@Html.DisplayFor(modelItem => item.MatrixParameters.fullParam)
</td>
<td></td>
<td>
@Html.ActionLink("Add", "../MatrixWorseningParameters/Create", new { id = Model.paramID })
</td>
</tr>
}
</tbody>
-Controller
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
MatrixWorseningParameter matrixWorseningParameter = db.WorseningParameters.Find(id);
if (matrixWorseningParameter == null)
{
return HttpNotFound();
}
return View(matrixWorseningParameter);
}
Das Ergebnis, das ich auf der Ansicht erhalten, ist es die richtige paramID2
Zahl zeigt, aber leider den Text beziehen sich auf die paramID
falsch ist. Es zeigt den Text für die paramID
an.
Was soll ich tun, um dies zu überwinden?
Haben Sie '@model Product' Syntax oben in Ihrem Ansichtscode? Wenn ja, sind Sie sicher, dass diese Syntax funktioniert: '@foreach (var item in model.Condition)'? Sollte es nicht '@foreach (var item in Model.Conditions)' stattdessen sein? – ekad
Ich bin verwirrt. Ihr ** Modell ** ist ein ** einzelnes Produktobjekt **; Sie möchten den Wert von ** Name ** anzeigen. ** Bedingung ** Klasse hat keine ** Name ** Eigenschaft. Wenn Sie ** Name ** von Produkt anzeigen möchten, müssen Sie nicht einmal ** Schleife ** durchführen. – Win
@ekad Ich habe die Syntax mit Condition früher bemerkt und meinen Code aktualisiert, um den Plural wiederzugeben. –