MVC json

1、 .net MVC中Controller

   在mvc中所有的controller类都必须使用"Controller"后缀来命名

   并且对Action也有一定的要求:

 

        必须是一个public方法
        必须是实例方法
        没有标志NonActionAttribute特性的(NoAction)
        不能被重载
        必须返回ActionResult类

2、 返回JsonResult序列化的Json对象

    
public class MyController : Controller
{
   // 必须返回ActionResult类型
    public ActionResult HelloWorld()
    {
        ViewData["Message"] = "Hello World!";
        return View();
    }
 
    public ActionResult Json()
   {
     Dictionary<string, object> dic = new Dictionary<string, object>();
     dic.Add("id", 100);
     dic.Add("name", "hello");
     return Json(dic, JsonRequestBehavior.AllowGet);
    }
}

    注意:需要设置参数,JsonRequestBehavior.AllowGet,
    否则会提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。
    若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。

3、View层 接受页面 使用JQuery

 
$.ajax({
          url: "/My/Json",
          type: "POST",
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (data) {
              /*
              //接受数据
              当 data 为拼接字符串时,需要下面方法转换成 json对象
              var json = jQuery.parseJSON(data);
             */
               alert(data.id+","+data.name); // data 为json对象
          },
          error: function ErrorCallback(XMLHttpRequest, textStatus, errorThrown) {
              alert(errorThrown + ":" + textStatus);
          }
      });         

原文地址:https://www.cnblogs.com/wangcq/p/3678947.html