c# - 当我尝试使用 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";
}
}
}
解决方案
推荐阅读
- python - 传递 currentTextChanged 的值
- node.js - 有人可以帮我理解为什么我的弹性 beantalk 在尝试部署应用程序时会出错吗?
- android - RxJava,主题,隐藏
- elasticsearch - 为什么我在这个 ES 搜索中没有得到任何结果?
- github - 将分叉列表保密
- python - 我在 python 中的代码通过不同的数字组合排列有什么问题?
- amazon-web-services - 将 Spark 应用程序部署到 EMR 6.x 时应包括哪些依赖项?
- python - Python - 使用类作为另一个类属性的默认值 - NameError
- python - 使用异步服务器发送多个文件
- javascript - 将数据从数组对象传递到另一个数组