我有一个控制器操作,它返回JsonResult,并由jquery ajax get请求使用。所有这些都在我的开发机器上运行得很好,但是当复制到生产主机上时,我在最后一行控制器操作上得到了下面的异常:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Single(int UNIQUE_NO) {
...
return Json(data, JsonRequestBehavior.AllowGet); // < here exception is thrown
}找不到方法:'System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object,System.Web.Mvc.JsonRequestBehavior)‘。
ELHAM正在捕获异常。
平台: ASP.NET MVC 2测试版
app附带的Dlls (本地复制: true):Microsoft.Web.Mvc、MvcContrib、MvcContrib.FluentHtml、MvcContrib.TestHelper、Rhino.Mocks、System.Web.Mvc、System.Web.Routing
这里发生什么事情?我应该在哪里/什么地方找到这个?(如上所述,我在我的dev机器上没有得到这个异常,因为json result对象是按照预期生成的,并返回给调用者)
下面是调用堆栈(ELMAH):
System.MissingMethodException:找不到方法:'System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object,System.Web.Mvc.JsonRequestBehavior)‘。at NN_AccessToWeb_MVC2.Controllers.HomeController.Single(Int32 filter) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase UNIQUE_NO,at lambda_method(ExecutionScope,ControllerBase,Object[] ) at NN_AccessToWeb_MVC2.Controllers.HomeController.Single(Int32控制器,参数) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter,Func2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.b__7() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter,ActionExecutingContext preContext,Func1 continuation) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<>c__DisplayClassc.<InvokeActionMethodWithFilters>b__9() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 filters,ActionDescriptor actionDescriptor,IDictionary`2个参数) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext,String actionName)
发布于 2009-12-08 21:48:38
尝试返回新的JsonResult
return new JsonResult {
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = /* you model goes here */,
ContentType = "application/json",
ContentEncoding = Encoding.UTF8
};发布于 2010-01-06 19:34:18
return Json(data, "application/json", Encoding.UTF8, JsonRequestBehavior.AllowGet);https://stackoverflow.com/questions/1867050
复制相似问题