Je suis entrain de créer un formulaire qui met à jour les deux modèles, pour cet exemple, un Projet avec une collection de Tâches, je veux le contrôleur d'accepter un Projet unique qui a sa Tâche de collecte chargé à partir du formulaire de saisie. J'ai ce travail, essentiellement le code ci-dessous sans une partielle.
Cela peut paraître idiot, mais je ne peux pas comprendre comment accéder au compteur (i) de l'partielle?
Modèle
public class Project
{
public string Name { get; set; }
public List<Task> Tasks { get; set; }
}
public class Task
{
public string Name { get; set; }
public DateTime DueDate { get; set; }
}
Créer.cshtml (point de Vue)
@model MyWebApp.Models.Project
@using(Html.BeginForm("Create", "Project", FormMethod.Post, new { id = "project-form" }))
{
<div>
@Html.TextBox("Name", Model.Name)
</div>
@for(int i = 0; i < Model.Tasks.Count; i++)
{
@Html.Partial("_TaskForm", Model.Tasks[i], new ViewDataDictionary<int>(i))
}
}
_TaskForm.cshtml (vue partielle)
@model MyWebApp.Models.Task
<div>
@Html.TextBox(String.Format("Tasks[{0}].Name", 0), Model.Name)
</div
<div>
@Html.TextBox(String.Format("Tasks[{0}].DueDate", 0), Model.DueDate)
</div
NOTEZ la Chaîne.Format ci-dessus, je suis coder en dur 0, je veux utiliser le ViewDataDictionary paramètre qui est lié à la variable i à partir de l'appel de la Vue
Merci, - Jesse