没有为此对象定义无参数构造函数 nopCommerce 4.0

No parameterless constructor defined for this object nopCommerce 4.0

当我出于编辑数据的原因尝试添加视图时,出现错误 No parameterless constructor defined for this object

这是我的控制器:

public class MyNewPageController : Controller
{
    MyNewPageController c = new MyNewPageController();

    public MyNewPageController()
    {

    }

    public IActionResult Index(PedroJorge.DAL.ProductDAL pd)
    {
        List<CS_mostrarModel> pList = new List<CS_mostrarModel>(pd.Read());

        return View("~/Views/MyNewPage/Index.cshtml", pList);
    }

    public ActionResult Edit(int ID)
    {
        List<CS_mostrarModel> pList = new List<CS_mostrarModel>();
        //Get the student from studentList sample collection for demo purpose.
        //You can get the student from the database in the real application
        var std = pList.Where(s => s.ID == ID).FirstOrDefault();

        return View(std);
    }

    [HttpPost]
    public ActionResult Edit(Product std)
    {
        //write code to update student 

        return RedirectToAction("Index");
    }

}

public class SampleContext : DbContext
{
    public DbSet<Order> Orders { get; set; }


    public SampleContext(DbContextOptions<SampleContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Order>().ToTable("Order");
    }

}

型号:

 public class CS_mostrarModel
{
    public int ID { get; set; }
    public string ProductName { get; set; }

    [Display(Name = "Release Date")]
    [DataType(DataType.Date)]
    public DateTime Date { get; set; }

    [Column(TypeName = "decimal(18, 2)")]
    public int Price { get; set; }
    public int PersonsNumber { get; set; }

    public string TourType { get; set; }
    public int CarsNumber { get; set; }
}

我不知道出了什么问题,我已经尝试了我在网上看到的所有方法,所以如果有人知道如何解决这个问题,请帮忙!

除非这是一个打字错误,否则当框架试图激活控制器时,让控制器在本地字段中创建自己的实例可能会导致堆栈溢出异常。

每个实例都会尝试创建另一个实例,直到您 运行 超出堆栈中的 space。

在之前的版本中,创建controller时抛出的异常被框架吞噬,标准无用

No parameterless constructor defined for this object

消息被抛出。

删除

 MyNewPageController c = new MyNewPageController();

来自控制器,它应该能够在请求时进行初始化。