Razor Pages হলো ASP.NET Core-এ একটি পেজ-বেসড প্রোগ্রামিং মডেল, যা MVC (Model-View-Controller) আর্কিটেকচারের একটি সহজ এবং নির্দিষ্ট বিকল্প। Razor Pages মূলত ডেভেলপারদের জন্য একটি সহজ, পরিষ্কার, এবং দ্রুত উপায়ে ওয়েব অ্যাপ্লিকেশন তৈরি করার সুযোগ প্রদান করে। এটি বিশেষভাবে সেই অ্যাপ্লিকেশনগুলির জন্য উপযোগী যেখানে একক পেজ বা ছোট অ্যাপ্লিকেশন তৈরি করা হয়।
Razor Pages অ্যাপ্লিকেশনের প্রতিটি পেজ একটি PageModel (C# ক্লাস) এবং Razor View (HTML এবং Razor সিনট্যাক্স) দ্বারা প্রতিনিধিত্ব করা হয়। এর মধ্যে, PageModel পেজের লজিক এবং ডেটা পরিচালনা করে, আর Razor View পেজের ইউজার ইন্টারফেস উপস্থাপন করে।
PageModel একটি C# ক্লাস যা Razor পেজের ডেটা এবং লজিক ধারণ করে। এটি পেজের সাথে সম্পর্কিত সমস্ত কার্যকলাপ, যেমন ডেটা ফেচিং, ফর্ম সাবমিশন, অথবা পেজের রেসপন্স প্রস্তুত করা, পরিচালনা করে।
Razor View হলো একটি HTML ফাইল যেখানে Razor সিনট্যাক্স ব্যবহৃত হয়। এটি ডাইনামিক কন্টেন্ট সহ HTML উপাদান তৈরি করতে ব্যবহার করা হয়। Razor সিনট্যাক্স C# কোড এবং HTML কোড একত্রিত করে কাজ করে।
একটি সাধারণ Razor Page অ্যাপ্লিকেশন দুটি ফাইলের সমন্বয়ে তৈরি হয়:
এই দুটি ফাইল একই নামের অধীনে একত্রিত হয় এবং একই পেজের অংশ হিসেবে কাজ করে। উদাহরণস্বরূপ, যদি আপনার Razor Page এর নাম About
হয়, তাহলে ফাইল দুটি হবে:
About.cshtml
(Razor View)About.cshtml.cs
(PageModel)Razor পেজ তৈরি করা খুবই সহজ। নিচে একটি উদাহরণ দেয়া হলো:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class AboutModel : PageModel
{
public string Message { get; set; }
public void OnGet()
{
Message = "This is the About page!";
}
}
@page
@model AboutModel
<!DOCTYPE html>
<html>
<head>
<title>About Page</title>
</head>
<body>
<h1>@Model.Message</h1>
</body>
</html>
এখানে, AboutModel
ক্লাসটি OnGet
মেথডের মাধ্যমে পেজের ডেটা প্রদান করছে এবং Razor View Message
প্রপার্টি রেন্ডার করছে।
Razor Pages ASP.NET Core-এ একটি শক্তিশালী এবং কার্যকরী পেজ-বেসড ডেভেলপমেন্ট মডেল, যা কোডের মেইনটেনেবিলিটি এবং কার্যকারিতা বাড়াতে সাহায্য করে। এটি প্রাথমিকভাবে ছোট বা মধ্যম আকারের অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য উপযুক্ত, যেখানে কমপ্লেক্স কন্ট্রোলার বা মডেল ভিউ কন্ট্রোলার (MVC) আর্কিটেকচারের প্রয়োজন হয় না।
common.read_more