callstack zawiera następujące informacje:Błąd serwera w aplikacji "/". Nie zdefiniowano konstruktora bez parametrów dla tego obiektu
[MissingMethodException: No parameterless constructor defined for this object.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230
System.Activator.CreateInstance(Type type, Boolean nonPublic) +67
System.Activator.CreateInstance(Type type) +6
System.Web.Mvc.DefaultModelBinder.CreateModel(ModelBindingContext bindingContext, Type modelType) +277
System.Web.Mvc.<>c__DisplayClass1.<BindModel>b__0() +98
System.Web.Mvc.ModelBindingContext.get_Model() +51
System.Web.Mvc.DefaultModelBinder.BindModelCore(ModelBindingContext bindingContext) +2600
System.Web.Mvc.DefaultModelBinder.BindModel(ModelBindingContext bindingContext) +1067
System.Web.Mvc.DefaultModelBinder.BindProperty(ModelBindingContext parentContext, Type propertyType, Func`1 propertyValueProvider, String propertyName) +208
System.Web.Mvc.DefaultModelBinder.BindModelCore(ModelBindingContext bindingContext) +1787
System.Web.Mvc.DefaultModelBinder.BindModel(ModelBindingContext bindingContext) +1067
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ParameterInfo parameterInfo) +355
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(MethodInfo methodInfo) +439
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +288
System.Web.Mvc.Controller.ExecuteCore() +180
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +96
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +36
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) +377
System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) +71
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) +36
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
Mam mały formularz z bandą ukrytych pól i jeden przycisk wysyłania. Kiedy go wciskam, nigdy nie uderzyłem w żądaną metodę.
Jak mam kontynuować i debugować to? Byłby to wspaniały początek, gdybym wiedział, CO obiektu nie ma konstruktora bez parametrów. Gdzie jest ten obiekt? Jak mogę to rozwiązać? Wiem, że pytanie jest dość niejasne, ale obecnie to wszystko co mam ..
--EDIT--
W moim formularzu dodałem Html.Hidden() wejść. W zależności od poprzednich działań mogą one mieć wartość "". Akcja korzysta z ModelBinding. Ilekroć wartość wynosi "", a typem danych jest SelectList, modelbinder idzie na mnie.
Czuję się coraz bardziej nieswojo z tym, jak robi to SelectList ... Pomysł jest dobry, ale są pewne problemy.
Jaki jest podpis czynności, którą próbujesz wywołać? –
Czy dodać parametry do konstruktora kontrolera lub usunąć domyślny konstruktor na kontrolerze? –
Todd, to nie problem. Spójrz na stos; kontroler został już utworzony. To jest model, prawdopodobnie jeden z argumentów do działania. –