Razor হল একটি সিম্পল এবং শক্তিশালী টেমপ্লেট ইঞ্জিন, যা ASP.Net Core-এ ভিউ (View) তৈরি করতে ব্যবহৃত হয়। Razor সিএসএস, HTML, JavaScript এবং C# কোডকে একটি একক ফাইলে একত্রিত করে, যার মাধ্যমে ডায়নামিক ওয়েব পেজ তৈরি করা যায়। Razor-এ সি# কোড এবং HTML-এর মধ্যে সিম্পল এবং কার্যকরীভাবে মিশ্রণ করা যায়।
Razor সিনট্যাক্স অত্যন্ত সরল এবং এটি HTML ট্যাগের ভিতরে C# কোড ব্যবহার করতে দেয়। Razor কোড সাধারণত @ চিহ্ন দিয়ে শুরু হয়, যা C# কোড ব্লককে HTML থেকে আলাদা করে। Razor কোড লেখার জন্য কয়েকটি সাধারণ সিনট্যাক্স রয়েছে, যেমন:
Razor কোড একক লাইনে C# কোড লেখা যেতে পারে, যেমন:
<h1>@DateTime.Now</h1>
এটি বর্তমান তারিখ এবং সময় পৃষ্ঠায় প্রদর্শন করবে।
Razor-এ C# ভেরিয়েবল ব্যবহার করা খুবই সহজ:
@{
var message = "Hello, Razor!";
}
<p>@message</p>
এখানে, আমরা message
নামক একটি ভেরিয়েবল ডিফাইন করেছি এবং সেটি HTML ট্যাগে ব্যবহার করেছি।
Razor-এ C# কন্ট্রোল স্টেটমেন্ট (যেমন if, foreach, for) ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, একটি if কন্ডিশন:
@if (DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
{
<p>আজ রবিবার!</p>
}
else
{
<p>আজ রবিবার নয়।</p>
}
এখানে, Razor C# কোডের মাধ্যমে ডেটা চেক করছে এবং HTML ট্যাগের মাধ্যমে রেন্ডার করছে।
C# লুপ (যেমন for
, foreach
) Razor টেমপ্লেটে সহজে ব্যবহার করা যায়। উদাহরণ:
<ul>
@foreach (var item in new List<string> { "Apple", "Banana", "Cherry" })
{
<li>@item</li>
}
</ul>
এখানে, আমরা একটি লিস্টের প্রতিটি আইটেম <li>
ট্যাগে রেন্ডার করছি।
Razor টেমপ্লেট ব্যবহার করে অনেক কাজকে আরও সহজ ও ডায়নামিক করা সম্ভব। Razor হেল্পার মেথডগুলি মূলত ছোট ফাংশন যা নির্দিষ্ট কাজ করে। এগুলি সাধারণত HTML ট্যাগ তৈরি করতে বা C# কোড প্রয়োগ করতে ব্যবহার করা হয়। কিছু পরিচিত Razor হেল্পার মেথডের উদাহরণ নিচে দেওয়া হলো:
@Html.ActionLink()
এটি একটি লিঙ্ক তৈরি করে যা নির্দিষ্ট কন্ট্রোলারের অ্যাকশনে রিডাইরেক্ট করে। উদাহরণ:
@Html.ActionLink("Go to Home", "Index", "Home")
এটি "Go to Home" নামে একটি লিঙ্ক তৈরি করবে, যা HomeController
এর Index
অ্যাকশনে রিডাইরেক্ট করবে।
@Html.BeginForm()
এটি একটি HTML ফর্ম তৈরি করতে ব্যবহৃত হয়, যা পোস্ট রিকোয়েস্ট পাঠানোর জন্য ব্যবহৃত হয়:
@using (Html.BeginForm())
{
<input type="text" name="name" />
<button type="submit">Submit</button>
}
এই কোড একটি ফর্ম তৈরি করবে, যা সাবমিট করার পর, ডিফল্টভাবে সেই রিকোয়েস্টটিকে ঐ অ্যাকশনে পাঠাবে।
@Html.TextBoxFor()
এই হেল্পার মেথড ব্যবহার করে আপনি মডেল প্রপার্টি থেকে ডেটা নিয়ে একটি ইনপুট ফিল্ড তৈরি করতে পারেন। উদাহরণ:
@Html.TextBoxFor(model => model.Name)
এটি মডেল Name
প্রপার্টির জন্য একটি ইনপুট ফিল্ড তৈরি করবে।
@Html.ValidationMessageFor()
এটি মডেল প্রপার্টির জন্য ভ্যালিডেশন মেসেজ প্রদর্শন করতে ব্যবহৃত হয়:
@Html.ValidationMessageFor(model => model.Name)
এটি Name
প্রপার্টির জন্য কোনো ভ্যালিডেশন মেসেজ থাকলে সেটি দেখাবে।
@Url.Action()
এটি একটি URL তৈরি করতে ব্যবহৃত হয় যা নির্দিষ্ট কন্ট্রোলারের অ্যাকশনের জন্য রিডাইরেক্ট করবে:
<a href="@Url.Action("Details", "Product", new { id = 1 })">Product Details</a>
এটি ProductController
এর Details
অ্যাকশনের জন্য একটি URL তৈরি করবে এবং এতে id
প্যারামিটারও পাস করবে।
সারাংশ
Razor Syntax এবং Helper Methods ASP.Net Core অ্যাপ্লিকেশনে ডায়নামিক ওয়েব পেজ তৈরি করার জন্য অত্যন্ত গুরুত্বপূর্ণ। Razor সিনট্যাক্স HTML এবং C# কোডের মধ্যে একটি সিম্পল এবং কার্যকরী সংমিশ্রণ তৈরি করে, যা ডায়নামিক কন্টেন্ট প্রক্রিয়া করতে সাহায্য করে। Razor হেল্পার মেথডগুলি কোড পুনরায় ব্যবহারযোগ্যতা, ফর্ম হ্যান্ডলিং, ভ্যালিডেশন এবং ডাইনামিক কন্টেন্ট প্রদর্শন করতে সহায়তা করে, যা ওয়েব ডেভেলপমেন্ট প্রক্রিয়াকে সহজ এবং দ্রুত করে।
common.read_more