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; } }