C# 错误:模型不包含接受2个参数的构造函数

C# 错误:模型不包含接受2个参数的构造函数,c#,model-view-controller,C#,Model View Controller,我有以下错误,我想我必须问一个建筑商我的问题是我该怎么做 错误: “CascadingModelGastos”不包含接受2个参数的构造函数 @型号列表 @{ ViewBag.Title=“OMA”; INCASICS.Models.CascadingModelGastos grid=新的INCASICS.Models.CascadingModelGastos(Model,rowsPerPage:10); } 型号: public class CascadingModelGastos {

我有以下错误,我想我必须问一个建筑商我的问题是我该怎么做

错误:

“CascadingModelGastos”不包含接受2个参数的构造函数

@型号列表
@{
ViewBag.Title=“OMA”;
INCASICS.Models.CascadingModelGastos grid=新的INCASICS.Models.CascadingModelGastos(Model,rowsPerPage:10);
}
型号:

public class CascadingModelGastos 
{
    public string id { get; set; }
    public CascadingModelGastos()
    {
        this.Proyecto = new List<SelectListItem>();
        this.Recurso = new List<SelectListItem>();
        this.SubRecurso = new List<SelectListItem>();
    }

    [Display(Name = "Selecciona Proyecto")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Proyecto { get; set; }
    [Display(Name = "Selecciona Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Recurso { get; set; }
    [Display(Name = "Selecciona Sub Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> SubRecurso { get; set; }

    public int ProyectoID { get; set; }
    public int RecursoID { get; set; }
    public int SubRecursoID { get; set; }

    public string Nombre_Proyecto { get; set; }

}
公共类CascadingModelGastos
{
公共字符串id{get;set;}
公共CascadingModelGastos()
{
this.Proyecto=新列表();
this.Recurso=新列表();
this.SubRecurso=新列表();
}
[显示(Name=“selectiona Proyecto”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表Proyecto{get;set;}
[显示(Name=“Selecciona Recurso”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表递归{get;set;}
[显示(Name=“selectiona Sub Recurso”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表子递归{get;set;}
public int ProyectoID{get;set;}
公共int递归类{get;set;}
公共int子递归对象{get;set;}
公共字符串Nombre_Proyecto{get;set;}
}

我对此有点陌生,这就是为什么我在这里支持自己,看看你是否能帮我解决这个问题。

在视图中,你正在创建CascadingModelGastos的实例(
INCASICS.Models.CascadingModelGastos grid=new INCASICS.Models.CascadingModelGastos(Model,rowsPerPage:10);
)具有两个参数,并且类中没有接受两个参数的构造函数

请修改您的CascadingModelGastos以包含第二个构造函数,该构造函数采用以下两个参数:

public class CascadingModelGastos 
{
    public string id { get; set; }
    public CascadingModelGastos()
    {
        this.Proyecto = new List<SelectListItem>();
        this.Recurso = new List<SelectListItem>();
        this.SubRecurso = new List<SelectListItem>();
    }
    public CascadingModelGastos(List<INCASICS.Models.CascadingModelGastos> lst, int rowsPerPage)
    {
        this.Proyecto = new List<SelectListItem>();
        this.Recurso = new List<SelectListItem>();
        this.SubRecurso = new List<SelectListItem>();
    }

    [Display(Name = "Selecciona Proyecto")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Proyecto { get; set; }
    [Display(Name = "Selecciona Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Recurso { get; set; }
    [Display(Name = "Selecciona Sub Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> SubRecurso { get; set; }

    public int ProyectoID { get; set; }
    public int RecursoID { get; set; }
    public int SubRecursoID { get; set; }

    public string Nombre_Proyecto { get; set; }

}
公共类CascadingModelGastos
{
公共字符串id{get;set;}
公共CascadingModelGastos()
{
this.Proyecto=新列表();
this.Recurso=新列表();
this.SubRecurso=新列表();
}
公共CascadingModelGastos(列表lst,int rowsPerPage)
{
this.Proyecto=新列表();
this.Recurso=新列表();
this.SubRecurso=新列表();
}
[显示(Name=“selectiona Proyecto”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表Proyecto{get;set;}
[显示(Name=“Selecciona Recurso”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表递归{get;set;}
[显示(Name=“selectiona Sub Recurso”)]
[必需(ErrorMessage=“Campo Requeriedo”)]
公共列表子递归{get;set;}
public int ProyectoID{get;set;}
公共int递归类{get;set;}
公共int子递归对象{get;set;}
公共字符串Nombre_Proyecto{get;set;}
}

您没有定义一个接受两个参数的构造函数,并且您发布的类甚至没有
模型
行页面
属性?如果我定义了它们,就解决了,还有一个问题,我有完整的
@Html.DropDownListFor(Model=>Model.ProyectoID,Model.Proyecto,“选择”)
……但是出现了以下错误:不包含“ProyectoID”的定义您视图的模型是CascadingModelGastos的集合(如视图
@model List
顶部的定义),但Proyecto是CascadingModelGastos的属性/成员。所以,您需要在for循环中使用它。在您的视图中是否有for循环(或foreach循环-某种循环机制)?好的,我尝试填充一个
表样式
,其中填充了上述内容,还有
@Html.DropDownListFor
,但我得到了我提到的错误。。。。。查看Wen,我发现使用
@model Tuple
会更好,所以我定义了两个模型。。。这是正确的吗?你能发布你的完整视图和你得到的错误吗。
public class CascadingModelGastos 
{
    public string id { get; set; }
    public CascadingModelGastos()
    {
        this.Proyecto = new List<SelectListItem>();
        this.Recurso = new List<SelectListItem>();
        this.SubRecurso = new List<SelectListItem>();
    }
    public CascadingModelGastos(List<INCASICS.Models.CascadingModelGastos> lst, int rowsPerPage)
    {
        this.Proyecto = new List<SelectListItem>();
        this.Recurso = new List<SelectListItem>();
        this.SubRecurso = new List<SelectListItem>();
    }

    [Display(Name = "Selecciona Proyecto")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Proyecto { get; set; }
    [Display(Name = "Selecciona Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> Recurso { get; set; }
    [Display(Name = "Selecciona Sub Recurso")]
    [Required(ErrorMessage = "Campo Requerido")]
    public List<SelectListItem> SubRecurso { get; set; }

    public int ProyectoID { get; set; }
    public int RecursoID { get; set; }
    public int SubRecursoID { get; set; }

    public string Nombre_Proyecto { get; set; }

}