最近,我正在研究如何在MVC 5中使用嵌套对象(对象列表)生成创建视图?
我的对象是这样的:
public class MrSurvey
{
public Guid Id { get; set; }
[Required]
[StringLength(128)]
public string UserId { get; set; }
[Required]
[StringLength(75)]
public string Title { get; set; }
public DateTime CreatedDate { get; set; }
public List<MrSurveyQuestion> Questions { get; set; }
}
public class MrSurveyQuestion
{
public Guid Id { get; set; }
public Guid SurveyId { get; set; }
[Required]
[StringLength(250)]
public string QuestionName { get; set; }
public bool IsMultipleChoice { get; set; }
public bool IsSelectOneMoreThan { get; set; }
public List<MrSurveyQption> Options { get; set; }
}
public class MrSurveyQption
{
public Guid Id { get; set; }
public Guid QuestionId { get; set; }
[Required]
[StringLength(140)]
public string OptionName { get; set; }
}
我尝试使用嵌套对象生成创建视图数天。但我没有这样做。 有没有人建议如何使用这些对象创建视图?要么 有这样的例子吗?
感谢您的关注。
答案 0 :(得分:0)
您可以创建一个新类,其中包含您要在视图上拥有的所有类。然后用它来通过视图。
public class YourNewClass{
public MrSurvey mrSurvey {get;set;}
public MrSurveyQuestion mrSurveyQuestion {get;set;}
public MrSurveyQption mrSurveyQption {get;set;} }
你可以这样做@MPavlak评论:使用@ Html.Action为每个对象使用部分视图来获取不同对象的部分视图。
在你的观点
@Html.Action("mrsurvey_method")
@Html.Action("mrsurveyquestion_method")
@Html.Action("mrsurveyqption_method")
在控制器上
public ActionResult mrsurvey_method(){
//do anything you want
return PartialView("_partialview1", new MrSurvey());
}
public ActionResult mrsurvey_method(){
//do anything you want
return PartialView("_partialview2", new MrSurveyQuestion());
}
public ActionResult mrsurvey_method(){
//do anything you want
return PartialView("_partialview3", new MrSurveyQption());
}