ASP.NET MVC LESSON 2 return Json data โดยเราสามารถกำหนดการ return ค่าเป็นแบบ string หรือ Array Object ได้ดังภาพ

ในส่วนของ Controller ปกติจะ return View(); ให้  return Json(data,JsonRequestBehavior.AllowGet);

Json จากภาพด้านบนจะมีการส่งค่ากลับสามแบบ

แบบที่ 1

status = “0”,
statusTextTH = “ไม่ผ่าน”,
statusTextEN= “fail”,

 

แบบที่ 2

summary=new
{
obtainAct=15,
obtainHour=37,
criteriaAct=30,
criteriaHour=120

}

แบบที่ 3

จะต้องทำ Array เพราะสังเกตุว่าจะมี […..] ครอบ data ไว้อยู่ ให้สร้าง array ขึ้นมา
1) เริ่มจากสร้างตัวแปร
public class criteriaListArr
{
public String nameTH { get; set; }
public String nameEN { get; set; }
public int obtain { get; set; }
public int criteria { get; set; }
}
2) จากนั้นให้สร้าง ArrayList
public List GetcriteriaListArr()
{
var res = new List()
{
//case 1
new criteriaListArr()
{
nameTH = “กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 10 กิจกรรม”,
nameEN = “กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 10 กิจกรรม”,
obtain =8,
criteria=10
},
//case 2
new criteriaListArr()
{
nameTH = “กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 120 ชั่วโมง”,
nameEN = “กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 120 ชั่วโมง”,
obtain =50,
criteria=120
},
//case 3
new criteriaListArr()
{
nameTH = “กิจกรรมพัฒนานักศึกษาสู่การเป็นบัณฑิตพึงประสงค์ ครบ 5 ด้าน”,
nameEN = “กิจกรรมพัฒนานักศึกษาสู่การเป็นบัณฑิตพึงประสงค์ ครบ 5 ด้าน”,
obtain =4,
criteria=5
}

};

return res;
}
3) แล้วขั้นตอนการเรียกใช้ให้เรียกใช้โดยกำหนดตัวแปรเท่ากับ ArrayList ที่สร้าง
criteriaList = GetcriteriaListArr()

Code หน้า Controller ทั้งหมด

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MobileWS.Controllers
{
    public class ActivityTranscriptController : Controller
    {

        public class criteriaListArr
        {
            public String nameTH { get; set; }
            public String nameEN { get; set; }
            public int obtain { get; set; }
            public int criteria { get; set; }
        }


        // GET: ActivityTranscript
        [Route("ActivityTranscript/index/{studentcode?}")]
        public ActionResult Index(string studentcode)
        {

            ViewBag.StudentCode = studentcode;


            return Json(
                new
                {
                    status = "0",
                    statusTextTH = "ไม่ผ่าน",
                    statusTextEN= "fail",
                    summary=new
                    {
                        obtainAct=15,
                        obtainHour=37,
                        criteriaAct=30,
                        criteriaHour=120

                    },
                    criteriaList = GetcriteriaListArr()
                }, JsonRequestBehavior.AllowGet

                );

          //  return View();

        }


        public List<criteriaListArr> GetcriteriaListArr()
        {
            var res = new List<criteriaListArr>()
                {
                   //case 1 
                    new criteriaListArr()
                        {
                            nameTH = "กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 10 กิจกรรม",
                            nameEN = "กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 10 กิจกรรม",
                            obtain =8,
                            criteria=10
                        },
                    //case 2 
                    new criteriaListArr()
                        {
                            nameTH = "กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 120 ชั่วโมง",
                            nameEN = "กิจกรรมมหาวิทยาลัย ไม่น้อยกว่า 120 ชั่วโมง",
                            obtain =50,
                            criteria=120
                        },
                    //case 3 
                    new criteriaListArr()
                        {
                            nameTH = "กิจกรรมพัฒนานักศึกษาสู่การเป็นบัณฑิตพึงประสงค์ ครบ 5 ด้าน",
                            nameEN = "กิจกรรมพัฒนานักศึกษาสู่การเป็นบัณฑิตพึงประสงค์ ครบ 5 ด้าน",
                            obtain =4,
                            criteria=5
                        }

                };

            return res;
        }
}

 

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.