詳解JsonResult的使用方法

來源:互聯網
上載者:User
這篇文章主要介紹了詳解mvc使用JsonResult返回Json資料,具有一定的參考價值,感興趣的小夥伴們可以參考一下。

controller 中定義以下方法:

public JsonResult UpdateSingle(int id, string actionName, string actionValue)   {    var res = new JsonResult();    //var value = "actionValue";    //db.ContextOptions.ProxyCreationEnabled = false;    var list = (from a in db.Articles       select new       {        name = a.ArtTitle,        yy = a.ArtPublishTime       }).Take(5);    //記得這裡要select new 否則會報錯:序列化類別型 System.Data.Entity.DynamicProxies XXXXX 的對象時檢測到循環參考。    //不select new 也行的加上這句 //db.ContextOptions.ProxyCreationEnabled = false;    res.Data = list;//返回列表     var name = "小華";    var age = "12";    var name1 = "小華";    var age1 = "12";    res.Data = new object[] { new { name, age }, new { name1, age1 } };//返回一個自訂的object數組     var person = new { Name = "小明", Age = 22, Sex = "男" };    res.Data = person;//返回單個對象;     res.Data = "這是個字串";//返回一個字串,意義不大;     res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;//允許使用GET方式擷取,否則用GET擷取是會報錯。    return res;   }

頁面調用:

<a href="javascript:void(0);" onclick="javascript:upclick(this);">Click Me</a> <script type="text/javascript">  function upclick(o) {   var obj = $(o);   alert(obj);   $.ajax({      url: "/Articles/UpdateSingle?ran=" + Math.random(),    type: "GET",    dataType: "json",    data: { id: obj.attr("id"), actionName: obj.attr("actionName"), actionValue: obj.attr("actionValue") },    success: function (data) { //    if (data.result == "True") { //     alert("修改成功!"); //    } //    if (obj.attr("actionName") == "ArtVerify") {  //    }     $(o).html(data[0].name);     obj.attr("actionValue", data[0].result);    }   })  } </script>

以上是在mvc中使用,在webform中怎麼使用呢?

在webform中要引用Newtonsoft.Json.dll;

當然你也可以自己拼接字串。

protected void Page_Load(object sender, EventArgs e)   {    var customer = new customer { name = "李華", sex = "男" };    var customer1 = new customer { name = "小芳", sex = "女" };    var li = new List<customer>();    li.Add(customer);    li.Add(customer1);    var list = Newtonsoft.Json.JavaScriptConvert.SerializeObject(li);    var tt = "[{\"name\":\"李華\",\"sex\":\"男\"},{\"name\":\"小芳\",\"sex\":\"女\"}]";    //new Newtonsoft.Json.JsonSerializer()..(customer);    Response.Write(tt);    Response.End();   }    public class customer   {    public string name { get; set; }    public string sex { get; set; }   }

頁面方法:

<p>   <a href="javascript:void(0)" onclick="javascript:getJsonData();">GetJsonData</a>  </p>  <p id="datap">   ggg  </p>  <script type="text/javascript">   function getJsonData() {    var str = "";    $.getJSON("/Json.aspx", function (data) {     var tt = "";     $.each(data, function (k, v) {      $.each(v, function (kk, vv) {       tt += kk + ":" + vv + "<br/>";      });     });     $("#datap").html(tt);    });   }  </script>

顯示結果:

【相關推薦】

1. ASP免費視頻教程

2. ASP教程

3. 李炎恢ASP 基礎視頻教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.