ViewData একটি অবজেক্টের ডিকশনারি যা স্ট্রিং কী ব্যবহার করে স্টোর এবং রিট্রিভ করা হয়। এটি কন্ট্রোলার থেকে ভিউতে ডেটা ট্রান্সফার করতে ব্যবহৃত হয়। যেহেতু 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
{
"India", "Malaysia", "Dubai", "USA", "UK"
};
return View();
}
}
}
ভিউ
@{
ViewBag.Title = "Countries List";
}
Countries List
-
@foreach(string country in (List
- @country }
আউটপুট
দেশের তালিকা প্রদর্শন করা হবে।