Wie man Tabelle Daten aus der Ansicht verwendet wird asp.net mvc 4
Meine Frage ist, wie man Tabelle Daten zurück an den controller aus Sicht?
Ich habe in meiner Klasse Modell:
public class Company
{
public string Name { get; set; }
public int ID { get; set; }
public string Address { get; set; }
public string Town { get; set; }
}
und ich pass Liste der Unternehmen, die meiner Ansicht als:
@model IEnumerable<MyTestApp.Web.Models.Company>
....
@using (Html.BeginForm("Edit", "Shop"))
{
<table id="example">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Address)
</th>
<th>
@Html.DisplayNameFor(model => model.Town)
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model) {
<tr>
<td>
@Html.EditorFor(modelItem => item.Name)
</td>
<td>
@Html.EditorFor(modelItem => item.Address)
</td>
<td>
@Html.EditorFor(modelItem => item.Town)
</td>
</tr>
}
</tbody>
</table>
<input type="submit" value="Submit" />
}
Und alles sieht ok, aber ich kann nicht verstehen, wie man geänderte Daten in den controller? Ich habe diese Ansätze:
public ActionResult Edit(IEnumerable<Company> companies)
{
//but companies is null
//and ViewData.Model also is null
return RedirectToAction("SampleList");
}
Ich brauche den Zugriff auf geänderte Objekte, was mache ich falsch?
UPDATE: Dank webdeveloper, ich brauchte nur verwenden 'für' - Schleife anstelle von 'foreach' - Schleife. Die Rechte version ist
<tbody>
@for (int i = 0; i < Model.Count(); i++ ) {
<tr>
<td>
@Html.EditorFor(modelItem => modelItem[i].Name)
</td>
<td>
@Html.EditorFor(modelItem => modelItem[i].Address)
</td>
<td>
@Html.EditorFor(modelItem => modelItem[i].Town)
</td>
</tr>
}
</tbody>
InformationsquelleAutor azhidkov | 2013-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte, betrachten Sie meine Antwort hier: Aktualisieren mehrerer Elemente innerhalb der gleichen Ansicht ODER für Darin Dimitrov Antwort.
Müssen Sie Elemente mit
index
imname
Attribut in einer gerenderten html-markup. Auch Sie sehen könnten: Modell Der Bindung An Eine ListeInformationsquelleAutor webdeveloper
Ich denke, Sie sind fehlt den
Company
's ID in der form, so dass das Modell richtig gebunden.Sollten Sie es hinzufügen, wie dies:
Sonst den rest der code scheint OK zu sein.
InformationsquelleAutor Yannick Blondeau