У меня небольшая проблема с передачей данных из представления в контроллер. Это небольшой сайт CRUD, вот код, объясняющий мою проблему.
Model:
public class TempModel{
public List<Temp> Temp1 { get; set; }
}
View:
@{ using (Html.BeginForm()) {
for (int i = 0; i < TempModel.Temp1.Count; i++)
{
@Html.LabelFor(model => model.Temp[i].ModifiedBy, "Modified By: ")
@Html.TextBoxFor(model => model.Temp[i].ModifiedBy)
<button name="button" value="update">Update</button>
}
}
Controller:
[HttpPost]
public ActionResult Index(TempModel.Temp1, string button){
switch (button)
{
case "delete":
break;
case "update":
UpdateSingleTemp(TempModel.Temp1);
break;
}
}
Теперь я хочу передать, какой из этих объектов Temp1 [i] был изменен при обновлении пользователем.
Должен быть простой способ сообщить контроллеру ItemId или dataIsChanged или что-то в этом роде, но сейчас я просто не могу понять. Я довольно новичок в MVC.
EDIT:
Мне удалось решить эту проблему. Самым простым способом было просто использовать несколько форм и удалить List из модели.
@for (int i = 0; i < TempModel.Count; i++)
@{ using (Html.BeginForm()) {
{
@Html.LabelFor(model => model[i].ModifiedBy, "Modified By: ")
@Html.TextBoxFor(model => model[i].ModifiedBy)
<button name="button" value="update">Update</button>
}
}