Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ViewData ใน ASP .Net MVC C # คืออะไร


ViewData เป็นพจนานุกรมของอ็อบเจ็กต์ที่จัดเก็บและดึงข้อมูลโดยใช้สตริงเป็นคีย์ มันถูกใช้ในการถ่ายโอนข้อมูลจากคอนโทรลเลอร์ไปยัง View เนื่องจาก ViewData เป็นพจนานุกรม จึงประกอบด้วยคู่ของคีย์-ค่า โดยที่แต่ละคีย์ต้องเป็นสตริง ViewData ถ่ายโอนข้อมูลจากคอนโทรลเลอร์เพื่อดูเท่านั้น ไม่ใช่ในทางกลับกัน ใช้ได้เฉพาะในช่วงคำขอปัจจุบันเท่านั้น

การจัดเก็บข้อมูลใน ViewData -

ViewData["countries"] = countriesList;

กำลังดึงข้อมูลจาก ViewData -

string country = ViewData["MyCountry"].ToString();

ViewData ไม่มีการตรวจสอบข้อผิดพลาดของเวลาคอมไพล์ ตัวอย่างเช่น หากเราสะกดชื่อคีย์ผิด เราจะไม่ได้รับข้อผิดพลาดเวลาคอมไพล์ เราจะเรียนรู้เกี่ยวกับข้อผิดพลาดเฉพาะที่รันไทม์เท่านั้น

คอนโทรลเลอร์

ตัวอย่าง

using System.Collections.Generic;
using System.Web.Mvc;
namespace DemoMvcApplication.Controllers{
   public class HomeController : Controller{
      public ViewResult Index(){
         ViewData["Countries"] = new List<string>{
            "India",
            "Malaysia",
            "Dubai",
            "USA",
            "UK"
         };
         return View();
      }
   }
}

ดู

@{
   ViewBag.Title = "Countries List";
}
<h2>Countries List</h2>
<ul>
@foreach(string country in (List<string>)ViewData["Countries"]){
   <li>@country</li>
}
</ul>

ผลลัพธ์

ViewData ใน ASP .Net MVC C # คืออะไร