Ich bin mit .Net MVC5 und ich versuche, eine Indexanzeige mit einem Link ändern (oder Taste) zu erstellen, wird POST (so verwenden kann ich nicht Action) eine gesamte Modellieren Sie Entität aus der Liste der Entitäten, die in der Ansicht angezeigt werden. Wie mache ich es?MVC5 ein Modell Artikel aus View in eine Steuerung vorbei
mein Code (bisher) unter
@model IEnumerable<Projname.Models.MyEntity>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>Hello there</th>
<th>life is good</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@using (Html.BeginForm("Edit", "Edit", FormMethod.Post))
{
@Html.Hidden(mytem => item);
<input type="submit" value="Edit" class="btn btn-default" />
}
</td>
<td>
@Html.ActionLink("Details", "Details", new { id = item.PrimeKey }) |
@Html.ActionLink("Delete", "Delete", new { id = item.PrimeKey })
</td>
</tr>
}
</table>
</body>
</html>
Ich gehe davon aus, dass es ein besserer Weg, es zu tun, anstatt ein verstecktes Feld der Eigenschaften der Einheit für jeden zu schaffen.
Pass nur die ID/Primärschlüssel myItem und wieder abrufen das Element aus der Datenbank wenn Sie es an Ihre Bearbeitungsansicht übergeben. – AWinkle
Warum das ganze Modell passiert, nur die Id wird – scottdavidwalker
@AWinkle tut normalerweise, dass ich tun würde, aber da ich Azure Tabellen verwenden, nur die Zeilenschlüssel (Primärschlüssel) in der Abfrage zu einem unerwünschten vollständigen Tabellenscan führen würde Angabe http://stackoverflow.com/questions/19715885/azure-tables-query-by-rowkey-as-condition. also versuche ich es so gut wie möglich zu vermeiden. – JOW