使用asp.net mvc和实体框架在一对多关系上更新相关数据

时间:2014-10-19 10:37:29

标签: c# asp.net-mvc entity-framework

我有这个模型类:

public class Proyecto {
#region Atributos
[DisplayName("Código")]
public string ProyectoID { get; set; }

public string OportunidadID {get;set;}
[DisplayName("Nombre")]
public string Nombre { get; set; }

[DisplayName("Fecha inicio")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime FechaInicio { get; set; }

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime FechaCierreTeorica { get; set; }

[DataType(DataType.Date)]
[DisplayName("Fecha fin")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime FechaCierreReal { get; set; }

[DisplayName("Estado")]
public Valoracion Estado { get; set; }

[DisplayName("Tendencia")]
public Valoracion Tendencia { get; set; }

public virtual Oportunidad Oportunidad { get; set; }

public virtual ICollection<AsientoProyecto> Asientos { get; set; }
public virtual ICollection<IngresoProyecto> Ingresos { get; set; }
public virtual ICollection<AsignacionProyecto> Asignaciones { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
public virtual ICollection<Comentario> Comentarios { get; set; }
#endregion
}

public class IngresoProyecto
{
    public int ID { get; set; }
    public string ProyectoID { get; set; }
    [DataType(DataType.Date)]
    public DateTime Fecha { get; set; }
    public double Cantidad { get; set; }
}

这部分视图中我显示了一些数据:

<tr>
<th>Ingresos</th>
@foreach (IngresoProyecto ingreso in Model.Ingresos)
{
    totalIngresos += ingreso.Cantidad;
    if (ingreso.Fecha.Year < DateTime.Now.Year)
    {
        <td>@ingreso.Cantidad €</td>
    }
    else if (ingreso.Fecha.Year == DateTime.Now.Year)
    {
        if (ingreso.Fecha.Month < DateTime.Now.Month)
        {
            <td>@ingreso.Cantidad €</td>
        }
        else
        {
        <td>@Html.EditorFor(p => ingreso.Cantidad)</td>
        }
    }
}
<th>@totalIngresos €</th>
</tr>

我在这个视图上的模型是一个“Proyecto”,我想要的是更新几个“Ingresos”的“Ingreso.Cantidad”的值(视图的代码在一个表单内)。使用此视图代码,当我保存修改后的数据时,我在控制器上收到“Ingresos”的空列表。如何将修改后的“Ingresos.Cantidad”的数据传递给控制器​​?

0 个答案:

没有答案