首页 > 解决方案 > 当我尝试使用 asp.net MVC 创建控制器时发生错误(确保控制器具有无参数的公共构造函数)

问题描述

我使用 asp.net mvc 创建了一个控制器,每次我的控制器尝试访问此控制器时,我都会收到一条错误消息

“尝试创建类型为‘SMSCampaignController’的控制器时出错。请确保控制器具有无参数的公共构造函数”

当我在控制器中放置一个无参数构造函数时,我得到一个 401 错误,这意味着应用程序找不到控制器。另一个令人困惑的事情是这个控制器只是用来调用 onClick 但由于某种原因它在应用程序启动时被调用

这是我下面的控制器

using System.Data;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Security;
using Repositories.Interfaces;
using Repositories.Interfaces.Dtos;
using SimSentinel.Models;
using System;
using System.Text.RegularExpressions;
using Repositories.Interfaces.SMSCampaign;



namespace SimSentinel.Controllers
{
    [Authorize]
    public class SMSCampaignController : ApiController
   {
      private readonly ISMSCampaignRepository _smsCampaignRepository;
      public static int globalUserId;

      //public SMSCampaignController()
     // {  }

      public SMSCampaignController(ISMSCampaignRepository smsCampaignRepository)
      {
         _smsCampaignRepository = smsCampaignRepository;
      }


        [HttpPost]
      public string Post(SMSCampaignViewModel smsCampaign)
      {
         if (smsCampaign == null)
         {
            return null;
         }
         var smsCampaignDto = new SMSCampaign(
             smsCampaign.smsCampaignId,
             smsCampaign.costCentreId,
             smsCampaign.campaignName,
             smsCampaign.msisdn,
             smsCampaign.message,
             smsCampaign.createdAt,
             smsCampaign.campaignStartDate,
             smsCampaign.campaignExpiryDate,
             smsCampaign.clientManager);
         //_organisationEmployeeRepository.UpdateEmployee(employeeDto, employee.passwordCheck);
            _smsCampaignRepository.SaveSMSCampaign(smsCampaign.smsCampaignId, smsCampaign.costCentreId, smsCampaign.campaignName, smsCampaign.msisdn, smsCampaign.message, smsCampaign.createdAt, smsCampaign.campaignStartDate, smsCampaign.campaignExpiryDate, smsCampaign.clientManager);

            return "Your profile was succesfully updated";

      }

    }
}

标签: c#asp.net-mvcresthttp

解决方案


推荐阅读