Asp.Net MVC3,返回成功的JsonResult

10 浏览
0 Comments

Asp.Net MVC3,返回成功的JsonResult

我需要返回包含成功值(true或false)的JSON数据,同时还需要包含结果消息。

所以我使用字典来保存数据,但是当它返回JSON数据时,它包含了""(引号)。

JsonResult = new Dictionary();
JsonResult.Add("Success", "False");
JsonResult.Add("Message", "Error Message");
return Json(JsonResult);

它返回的是,

{"Success":"False","Message":"Error Message"}

但我需要的是,

{Success:False,Message:"Error Message"} //没有""(引号)

有人知道这个问题吗?

谢谢!

0
0 Comments

问题的出现原因是返回的JSON格式不正确,解决方法是使用匿名变量来返回正确的JSON格式,并在客户端使用$.getJSON来访问这个数据。

在ASP.NET MVC3中,返回一个成功的JsonResult可以通过以下方式实现:

首先,确保返回的JSON格式是有效的,可以通过jsonlint.com来检查。

然后,在Controller中的Action方法中,使用匿名变量来定义一个包含成功和消息的JSON格式的结果,并将这个结果通过Json方法返回,如下所示:

public ActionResult YourActionMethodName()
{
   var result=new { Success="False", Message="Error Message"};
   return Json(result, JsonRequestBehavior.AllowGet);
}

在客户端,可以使用$.getJSON方法来访问这个数据,如下所示:

$(function(){
   $.getJSON('YourController/YourActionMethodName', function(data) {
      alert(data.Success);
      alert(data.Message);
   });
});

通过这种方式,可以正确地返回一个成功的JsonResult,并在客户端访问这个数据。

0