using Michell.ClaimsAuditAdmin.Models;
using Mitchell.ClaimsAuditAdmin.Repositories;
using Mitchell.ClaimsAuditAdmin.Web.Models;
using System.Web.Mvc;
namespace Mitchell.ClaimsAuditAdmin.Web.Controllers
{
public class ClaimAuditAdminController : Controller
{
private readonly IClaimsAuditAdminRepository claimAuditAdminRepository;
public ClaimAuditAdminController(IClaimsAuditAdminRepository claimAuditAdminRepository)
{
this.claimAuditAdminRepository = claimAuditAdminRepository;
}
public ActionResult Index()
{
return View("SearchResultTest");
}
public ActionResult TestView()
{
return View("TestView");
}
public ViewResult DisplayClaimAuditView()
{
return View("_ClaimAuditAdminView");
}
public ActionResult SearchResultTest()
{
return View();
}
public ActionResult ClaimAuditReviewFilter()
{
//ClaimAuditModel objClaimAudit = new ClaimAuditModel();
//objClaimAudit.ClaimAudit_ID = 1;
//objClaimAudit.ClaimAudit_Name = "Claim1";
//objClaimAudit.FromDate = DateTime.Now.AddYears(-1);
//objClaimAudit.FromDate = DateTime.Now;
return PartialView("_ClaimAuditAdminView");
}
}
}
私はこの質問が何度も尋ねられたことを知っていますが、これらすべてのSO類似の質問を読んだ後、エラーを追跡できません.デバッガーをコントローラーのコンストラクター(ClaimAuditAdminController)に入れましたが、デバッガーはそこに行きません. 私のRoute.Configは
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "ClaimAuditAdmin", action = "DisplayClaimAuditView", id = UrlParameter.Optional }
);
}
私のエラーのスクリーンショットは
例外の詳細: System.MissingMethodException: このオブジェクトにパラメーターなしのコンストラクターが定義されていません。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[MissingMethodException: このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +113
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +232 System.Activator.CreateInstance(型型, Boolean nonPublic) +83 System.Activator.CreateInstance(型型) +6 System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +55[InvalidOperationException: タイプ 'Mitchell.ClaimsAuditAdmin.Web.Controllers.ClaimAuditAdminController' のコントローラーを作成しようとしたときにエラーが発生しました。コントローラーにパラメーターのないパブリック コンストラクターがあることを確認してください。] System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +179 System.Web.Mvc.DefaultControllerFactory.GetControllerInstance( RequestContext
requestContext, Type controllerType) +80
Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +74
System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext、IController& コントローラー、IControllerFactory& ファクトリー) +197 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext、AsyncCallback コールバック、オブジェクト状態) +49
System.Web.Mvc.MvcHandler. BeginProcessRequest(HttpContext httpContext、AsyncCallback コールバック、オブジェクト状態) +50
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext コンテキスト、AsyncCallback cb、オブジェクト extraData) +16
System.Web.CallHandlerExecutionStep.System.Web。 HttpApplication.IExecutionStep.Execute() +301 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155-------------------------------------------------- ------------------------------ バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.17929 }