50
我正在創建一個表單,用於更新兩個相關模型,對於此示例中包含任務集合的項目,我希望控制器接受單個項目,該項目的任務集合已從表單輸入中加載。我有這個工作,基本上是下面的代碼沒有部分。asp mvc partial with model and ViewDataDictionary - 如何訪問ViewDataDictionary?
這可能聽起來很愚蠢,但我不知道如何從部分訪問計數器(i)?
模型
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; }
}
Create.cshtml(查看)
@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(局部視圖)
@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
註上述我硬編碼0的String.Format,我想使用ViewDataDictionary參數綁定到變量我從調用視圖