使用asp.net Mvc3 RTM,IIS7。
我遇到了像这样的错误:
System.Web.HttpException 在控制器'Interreg.Web.Controllers.ApplicationsController'上找不到公共操作方法'Application' System.Web.HttpException(0x80004005):在控制器'Interreg.Web.Controllers.ApplicationsController'上找不到公共操作方法'Application'。
在System.Web.Mvc.Controller.HandleUnknownAction(String actionName)
在System.Web.Mvc.Controller.ExecuteCore()
在System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
在System.Web.Mvc.MvcHandler。<> c_ DisplayClass6。<> c _DisplayClassb.b_ 5()
在System.Web.Mvc.Async.AsyncResultWrapper。<> c _DisplayClass1.b_ 0()
在System.Web.Mvc.Async.AsyncResultWrapper> c _DisplayClass8'1.BeginSynchronous> b__7(IAsyncResult )
在System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
在System.Web.Mvc.MvcHandler。<> c _DisplayClasse.b_ d()
在System.Web.Mvc.SecurityUtil.b _0(行动f)
在System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action)
在System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
控制器和操作发生变化,它们确实存在且应用程序不会崩溃 - 用户看不到死亡的黄色屏幕。
我怀疑它与静态资源加载(图像,脚本)有关,可能是路由。
任何想法有什么不对,是什么导致这个?
答案 0 :(得分:0)
这可能就是你说的。我建议检查IIS日志以查询针对/ Application的查询,以查看该URL的位置以及它的调用位置。
另一个选项是在调试模式下导航,在这种情况下,异常应该在Visual Studio中暂停执行。
祝你好运!答案 1 :(得分:0)
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
个属性
JsonRequestBehavior.AllowGet
行为。
例如:return Json(zeroResult, JsonRequestBehavior.AllowGet);