Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC:没有为此对象定义无参数构造函数_Asp.net Mvc - Fatal编程技术网

Asp.net mvc MVC:没有为此对象定义无参数构造函数

Asp.net mvc MVC:没有为此对象定义无参数构造函数,asp.net-mvc,Asp.net Mvc,“/”应用程序中出现服务器错误。 没有为此对象定义无参数构造函数。如何解决此问题。 我在创建接口ICompanyService和类CompanyService中创建了一个文件夹 控制器: public class HomeController : Controller { private ICompanyService icompanyService; public HomeController(IC

“/”应用程序中出现服务器错误。 没有为此对象定义无参数构造函数。如何解决此问题。 我在创建接口ICompanyService和类CompanyService中创建了一个文件夹

控制器:

         public class HomeController : Controller
         {
               private ICompanyService icompanyService;
               public HomeController(ICompanyService icompanyService)
              {
                 this.icompanyService = icompanyService;
               }
                public ActionResult Index()
              {     
                 ViewBag.CompanyName = this.icompanyService.GetCompany();
                return View();
              }
         }
i公司服务:

                 public interface ICompanyService
                {
                 string GetCompany();
                }
                   public class CompanyService
                   {
                      public string GetCompany()
                     {
                         return "Msc";
                     }
                 }
公司服务:

                 public interface ICompanyService
                {
                 string GetCompany();
                }
                   public class CompanyService
                   {
                      public string GetCompany()
                     {
                         return "Msc";
                     }
                 }
CompanyService类应从ICompanyService接口继承。 请学习.NET中的依赖项注入


您需要在控制器中包含以下构造函数

        public HomeController() : this(new CompanyService())
            {
            }
整个控制器代码如下所示

    public class HomeController : Controller
{
    private ICompanyService icompanyService;

    public HomeController() : this(new CompanyService())
    {
    }
    public HomeController(ICompanyService icompanyService)
    {
        this.icompanyService = icompanyService;
    }
    public ActionResult Index()
    {
        ViewBag.CompanyName = this.icompanyService.GetCompany();

        return View();
    }
}
这会解决你的问题


快乐编码

@ravi请使用依赖项注入,那么什么服务将在没有定义构造函数逻辑的情况下自动初始化您的服务构造函数,依赖项注入将处理并初始化您的服务对象。不要担心初始化

下面我提到了国际奥委会的链接,我希望你的问题能很快解决。

此错误引发的原因是什么?它引发运行时异常没有为此对象定义无参数构造函数当然它会在一行上引发,尽管它没有显示错误行,但仍然引发相同的问题,因为您在项目中不使用依赖项注入。像项目中的“自动Fac”或“Ninject”或“Unity”一样进行配置。Defualt的构造函数控制器没有参数。我希望此链接将有助于: