gpt4 book ai didi

asp.net-mvc - 嵌套局部 View 传递子对象问题

转载 作者:行者123 更新时间:2023-12-04 18:44:53 33 4
gpt4 key购买 nike

我试图将部分 View 中的子对象传递给另一个,但我总是收到错误消息。谁能帮我解决这个问题? TT

“传递到字典中的模型项是‘Application.Models.PetModel’类型的,但是这个字典需要一个‘Application.Models.Calendar’类型的模型项”

主要型号

public class PetModel
{

public string Name { get; set; }
public long SpeciesID { get; set; }
public long BreedID { get; set; }
public Calendar DOB { get; set; }

}

子型号
   public class Calendar
{
public int Day { get; set; }
public int Month { get; set; }
public int Year { get; set; }

public DateTime DateObj
{
get
{
if (Day != 0 && Month != 0 && Year != 0)
{
return new DateTime(Year, Month, Day);
}

return DateTime.Now;
}

set
{
if (value != null)
{
Day = value.Day;
Month = value.Month;
Year = value.Year;
}
}
}

}

主 View
@model Application.Models.PetModel
@using (Html.BeginForm("CatchPetContent", "Quote",Model))
{
@Html.Partial("PetDetailsContent", Model)
<input type="submit" value="submit" />
}

宠物详情内容部分查看
@model Application.Models.PetModel
@Html.TextBoxFor(x => x.Name)
@Html.DropDownListFor(x => x.SpeciesID, (IEnumerable<SelectListItem>)ViewData["TypeList"], "--Please Select--")
@Html.DropDownListFor(x => x.BreedID, (IEnumerable<SelectListItem>)ViewData["BreedList"], "--Please Select--")
@Html.RenderPartial("UserControl/Calendar", Model.DOB)

日历部分 View
@model Application.Models.Calendar
@Html.TextBoxFor(x => x.Day)
@Html.TextBoxFor(x => x.Month)
@Html.TextBoxFor(x => x.Year)

最佳答案

我有同样的问题。在我的情况下,只要子模型为空,框架就会将主模型传递给局部 View 。

作为一种解决方法,我在将子模型传递给局部 View 之前检查它是否为空。如果它为空,那么我要么根本不显示局部 View ,要么创建子模型的实例。 (同样,在我找到解决此问题的正确解决方案之前,这是一种解决方法。如果有的话。)

关于asp.net-mvc - 嵌套局部 View 传递子对象问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16536842/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com