Asp.net mvc JsonResult异常问题
我有一个控制器操作,它返回JsonResult,并由jquery ajax get请求使用。所有这些都在我的开发机器上运行良好,但在生产主机上复制时,我在最后一行控制器操作中遇到以下异常:Asp.net mvc JsonResult异常问题,asp.net-mvc,Asp.net Mvc,我有一个控制器操作,它返回JsonResult,并由jquery ajax get请求使用。所有这些都在我的开发机器上运行良好,但在生产主机上复制时,我在最后一行控制器操作中遇到以下异常: [AcceptVerbs(HttpVerbs.Get)] public JsonResult Single(int UNIQUE_NO) { ... return Json(data, JsonRequestBehavior.AllowGet); // < here exception is
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Single(int UNIQUE_NO) {
...
return Json(data, JsonRequestBehavior.AllowGet); // < here exception is thrown
}
[AcceptVerbs(HttpVerbs.Get)]
公共JsonResult单个(int UNIQUE_NO){
...
返回Json(数据,JsonRequestBehavior.AllowGet);//<此处引发异常
}
未找到方法:“System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object,System.Web.Mvc.JsonRequestBehavior)”
例外情况正在被ELHAM捕获
平台:ASP.NET MVC 2测试版
应用程序附带的DLL(复制本地:true):
Microsoft.Web.Mvc、MvcContrib、MvcContrib.FluentHtml、MvcContrib.TestHelper、Rhino.Mocks、System.Web.Mvc、System.Web.Routing
这是怎么回事?我应该在哪里找这个?
(如上所述,在我的开发机器上,json结果对象按预期生成并返回给调用者时,我没有得到这个异常)
以下是调用堆栈(ELMAH):
System.MissingMethodException:未找到方法:“System.Web.Mvc.JsonResult System.Web.Mvc.Controller.Json(System.Object,System.Web.Mvc.JsonRequestBehavior)”。
at NN_AccessToWeb_MVC2.Controller.HomeController.Single(Int32唯一编号)
在lambda_方法上(ExecutionScope、ControllerBase、Object[])
位于System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object[]参数)
在System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary2个参数)
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext、ActionDescriptor ActionDescriptor、IDictionary
2个参数)
在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClassA.b_uuu7()中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter筛选器、ActionExecutingContext预文本、Func1 continuation)
在System.Web.Mvc.ControllerActionInvoker.c_uuDisplayClassA.c_uuuDisplayClassC.b_uuu9()中
位于System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext ControllerContext,IList
1过滤器,ActionDescriptor ActionDescriptor,IDictionary`2参数)
在System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext ControllerContext,String actionName)尝试返回一个新的
JsonResult
:
return new JsonResult {
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = /* you model goes here */,
ContentType = "application/json",
ContentEncoding = Encoding.UTF8
};
Json(数据,JsonRequestBehavior.AllowGet)不是已经是JsonResult了吗?是的。它是一个类似于
View()
的助手,用于新建ViewResult。可能您没有包括正确的名称空间?这会引发类似的异常>System.MissingMethodException Method not found:“Void System.Web.Mvc.JsonResult.set_JsonRequestBehavior(System.Web.Mvc.JsonRequestBehavior)”。<哪个名称空间我可能会被遗漏吗?你包含了什么名称空间?我已经在原始帖子中添加了包含的名称空间。这显然是名称空间或类似的问题,因为我无法在dev machine上重新创建异常。return Json(YOURDATA),“application/Json”,Encoding.UTF8,JsonRequestBehavior.AllowGet);工作很好你有没有找到解决办法?这是一个非常有趣的例外。。。
return Json(data, "application/json", Encoding.UTF8, JsonRequestBehavior.AllowGet);