当前位置:   article > 正文

【.NET】跨控制器调用返回值为JsonResult返回类型的结果_c# jsonresult返回值类型

c# jsonresult返回值类型

假设有控制器AController 和控制器BController,控制器A的命名空间为nameSpaceA,控制器B的命名空间为nameSpaceB

控制器B中有方法:

  1. public JsonResult func(){
  2. bool result = true
  3. return Json(true, JsonRequestBehavior.AllowGet);
  4. }
  5. public static JsonResult func_1(){
  6. bool result = true
  7. return Json(new { result_1 = result,result_2 = "成功"}, JsonRequestBehavior.AllowGet);
  8. }

当在控制器A中调用B中方法时:

  1. public void funcA(){
  2. //当方法为控制器的非静态成员时,实例化控制器,并调用方法
  3. nameSpaceB.Controllers.B BController = new nameSpaceB.Controllers.B();
  4. var jsonResult = BController.func();
  5. //jsonResult.Data中只存在一个bool类型结果,直接转换jsonResult.Data为bool类型并执行后续逻辑
  6. bool result = (bool)jsonResult.Data;
  7. if (result){
  8. //doSomething
  9. }
  10. //当方法为控制器的静态成员时,使用控制器名直接调用方法
  11. var jsonResult = BController.func_1();
  12. //先获取jsonResult.Data类型
  13. Type resultType = jsonResult.Data.GetType();
  14. //通过获取类型获取其中公共属性的值并强转为其本身的类型,result_1在返回结果中为bool类型,将其转换为bool类型使用,result_2在返回结果中为string类型,将其转换为string类型使用
  15. bool result_1 = (bool)resultType.GetProperty("result_1").GetValue(jsonResult.Data);
  16. string result_2 = (string)resultType.GetProperty("result_2").GetValue(jsonResult.Data);
  17. //doSomething
  18. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号