I have an ASP.NET MVC4 Internet application, I wanted to use two Models in a single view but it seems it is not easy as i just wished. I am a MVC newbie by the way. Here is my First Model Code
public class FirstCmOutput
{
public int FirstCmOutputId { get; set; }
[Required]
public string Name { get; set; }
public string Intervention { get; set; }
public string Indicator { get; set; }
public string UseOfOutput { get; set; }
public string UserOfOutput { get; set; }
public DateTime PlanningFrom { get; set; }
public DateTime PlanningTo { get; set; }
public DateTime DateOfPlanning { get; set; }
public string City { get; set; }
public virtual ICollection<FirstCmActivity> Activity { get; set; }
}
Here is My Second Model.
public class FirstCmActivity
{
public int FirstCmActivityId { get; set; }
public string Name { get; set; }
public DateTime PlannedStartDate { get; set; }
public DateTime PlannedEndDate { get; set; }
public DateTime OngoingStartDate { get; set; }
public DateTime OngoingEndDate { get; set; }
public DateTime FinishedDate { get; set; }
public string GizResponsible { get; set; }
public string PartnerResponsible { get; set; }
public string swAfghanSide { get; set; }
public string swGiz { get; set; }
public string swRodeco { get; set; }
public string swExtern { get; set; }
public string EquipmentNeeds { get; set; }
public string EquipmentExist { get; set; }
public string MileStone { get; set; }
public int FirstCmOutputId { get; set; }
public virtual FirstCmOutput Output { get; set; }
}
I have added another Model called View Model and injected above models just like below.
public class ViewModel
{
public IEnumerable<FirstCmOutput> FirstOutput { get; set; }
public IEnumerable<FirstCmActivity> FirstActivity { get; set; }
}
and finally here is my View Code, it worth to mention that i am using scaffolding.
<div class="editor-label">
@Html.LabelFor(model => model.FirstOutput.Name)