比较Json的结果

时间:2016-07-26 12:56:21

标签: c# json asp.net-mvc

我有返回JSON的动作

[HttpPost]
public JsonResult Validate(string arg1, string arg2)
{
    bool check
    ...
    return Json(!check ? new { message = "-1" } : new { message = "1" }, JsonRequestBehavior.AllowGet);
}

我需要从另一个动作中调用该动作。我需要对客户端调用(使用ajax)进行比较,并在另一个后期操作中进行服务器端验证。

如何从该操作中获取消息?

var a = Validate(model.arg1, model.arg2);
a.Data;

返回json。如何从中获取价值来比较某些东西?

1 个答案:

答案 0 :(得分:0)

  1. 创建一个新的类文件。我们假设您将其命名为helper.cs

    命名空间YourProject.Helper {     公共级助手{         //你的验证码就在这里     } }

  2. 通过using YourProjectNS.Helper

    在您的控制器中导入此类

    使用MyProject.Helper;

  3. helper类中定义Validate函数。

    public class Helper {     public bool Validate(string arg1,string arg2){         布尔检查         ...         返回Json(!check?new {message =" -1"}:new {message =" 1"});     } }

  4. 在您的控制器中,无论您需要它,都可以访问helperObj.Validate(v,v2)

    Helper helperObj = new Helper(); bool isValid = helperObj.Validate(v1,v2);

  5. 最终,您的代码将类似于:

    在Helper.cs中:

    namespace MyProject.Helper{
        public class Helper{
            public bool Validate(string arg1, string arg2)
            {
                bool check
                ...
                return Json(!check ? new { message = "-1" } : new { message = "1" });
            }
        }
    }
    
    控制器操作中的

    using MyProject.Helper;
    
    public ActionResult MyAction(){
        ...
        // your other code
        Helper helperObj = new Helper();
        bool isValid = helperObj.Validate(v1, v2);
    
        ...
    }
    

    希望这有帮助。