Razor একটি উচ্চ ক্ষমতাসম্পন্ন, হালকা ওজনের টেমপ্লেট ইঞ্জিন যা ASP.Net অ্যাপ্লিকেশনে ডাইনামিক HTML তৈরি করতে ব্যবহৃত হয়। Razor সঠিকভাবে C# কোড এবং HTML মার্কআপ একত্রিত করতে সাহায্য করে, যা ASP.Net MVC এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে ব্যবহার করা হয়। Razor সিনট্যাক্সের মাধ্যমে, আপনি সহজে ডাইনামিক কন্টেন্ট যেমন ভেরিয়েবল, লুপ, কন্ডিশনাল লজিক ইত্যাদি HTML পেজে এম্বেড করতে পারেন।
Razor কোড ব্লক: Razor কোড ব্লক শুরু হয় @
চিহ্ন দিয়ে এবং তারপর C# কোড লেখা হয়।
উদাহরণ:
@{
var greeting = "Hello, World!";
}
HTML এবং Razor কোডের সংমিশ্রণ: Razor আপনাকে HTML এর সাথে C# কোড লিখতে অনুমতি দেয়, এবং Razor কোড HTML এর মধ্যে সোজা এম্বেড করা যায়।
উদাহরণ:
<h1>@greeting</h1>
Razor কোড ব্লকে C# ভেরিয়েবল বা এক্সপ্রেশন ব্যবহার করা সম্ভব। এগুলি HTML মার্কআপের মধ্যে @ সাইন দিয়ে প্রবেশ করানো হয়।
উদাহরণ:
@{
var userName = "John";
}
<p>Hello, @userName!</p>
এই কোডে userName
ভেরিয়েবলটি Hello, John!
আউটপুট করবে।
Razor সিম্পল for, foreach, বা while লুপ ব্যবহার করার মাধ্যমে HTML পেজে ডাইনামিক কন্টেন্ট রেন্ডার করতে সহায়ক।
উদাহরণ (foreach loop):
@foreach (var item in items)
{
<p>@item</p>
}
এই কোডে, items
নামে একটি কালেকশন থেকে প্রতিটি আইটেম <p>
ট্যাগের মধ্যে প্রদর্শিত হবে।
Razor এ if-else
কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা যায়।
উদাহরণ:
@{
var isAuthenticated = true;
}
@if (isAuthenticated)
{
<p>Welcome back, user!</p>
}
else
{
<p>Please log in.</p>
}
এই কোডে, isAuthenticated
ভেরিয়েবলটি যদি true
হয়, তাহলে "Welcome back, user!" দেখাবে, এবং যদি false
হয়, তাহলে "Please log in." দেখাবে।
Razor সিনট্যাক্স আপনাকে HTML মার্কআপের মধ্যে সরাসরি C# এক্সপ্রেশন ব্যবহার করতে দেয়। এর ফলে, কোড লেখা অনেক সহজ হয়।
উদাহরণ:
<p>The current time is: @DateTime.Now</p>
এখানে, @DateTime.Now
ডাইনামিকভাবে বর্তমান সময় দেখাবে।
Razor এ আপনি layout pages এবং partial views ব্যবহার করে অ্যাপ্লিকেশনের বিভিন্ন অংশের কোড পুনঃব্যবহার করতে পারেন। এর মাধ্যমে অ্যাপ্লিকেশনের প্রতিটি পৃষ্ঠার জন্য একটি সাধারণ কাঠামো (যেমন: হেডার, ফুটার) বজায় রাখা সম্ভব হয়।
Layout Example:
@{
Layout = "_Layout";
}
এখানে, _Layout
ফাইলটি এই পৃষ্ঠার জন্য লেআউট হিসেবে ব্যবহৃত হবে।
Partial View Example:
@Html.Partial("_MyPartialView")
এখানে, _MyPartialView
একটি পার্টিয়াল ভিউ ফাইল যা অন্য কোনো পৃষ্ঠার মধ্যে অন্তর্ভুক্ত হবে।
Razor ভিউতে ডেটা পাঠানোর জন্য ViewData বা ViewBag ব্যবহার করা যেতে পারে।
ViewBag ব্যবহার:
<h1>@ViewBag.Title</h1>
Controller থেকে:
ViewBag.Title = "Welcome to Razor!";
Razor ফর্ম তৈরি করতে ব্যবহার করা যায়, যেখানে HTML form এবং C# কোড একসাথে ব্যবহার করা হয়।
উদাহরণ:
<form method="post">
<input type="text" name="username" />
<input type="submit" value="Submit" />
</form>
Razor ভিউতে HTML Helpers ব্যবহার করে ডাইনামিক ফর্ম এলিমেন্ট এবং লিঙ্ক তৈরি করা সম্ভব।
উদাহরণ:
@Html.TextBox("username")
@Html.Password("password")
Razor সিনট্যাক্স একটি শক্তিশালী এবং ব্যবহারকারী-বান্ধব পদ্ধতি, যা C# কোড এবং HTML একত্রে ব্যবহারের মাধ্যমে ডাইনামিক ওয়েব পেজ তৈরি করতে সাহায্য করে। এর সহজ ও পরিষ্কার সিনট্যাক্স ডেভেলপারদের দ্রুত এবং কার্যকরীভাবে অ্যাপ্লিকেশন ডেভেলপমেন্ট করতে সহায়ক।
Razor হলো একটি শীর্ষস্থানীয় view engine যা ASP.Net এ dynamic web pages তৈরির জন্য ব্যবহৃত হয়। Razor HTML এবং C# কোডের মধ্যে একটি সিম্পল এবং ইফিসিয়েন্ট সমন্বয় তৈরি করতে সক্ষম। এটি ASP.Net MVC এবং ASP.Net Core প্রজেক্টে ডাইনামিক কন্টেন্ট জেনারেট করার জন্য ব্যবহৃত হয়।
Razor কোড সাধারণত @
সাইন দিয়ে শুরু হয় এবং HTML এর মধ্যে C# কোড ব্যবহার করতে এটি খুবই সহজ।
Razor কোড একটি code block হিসাবে লেখা হয়, যা @{}
এর মধ্যে থাকে।
@{
var greeting = "Hello, Razor!";
}
HTML এ C# ভেরিয়েবল ব্যবহার করার জন্য @
সাইন ব্যবহৃত হয়।
<h1>@greeting</h1>
এটি greeting
ভেরিয়েবল এর মান HTML পেজে প্রদর্শন করবে।
Razor টেমপ্লেটে if-else স্টেটমেন্ট ব্যবহার করা যায়।
@{
var isLoggedIn = true;
}
@if (isLoggedIn)
{
<p>Welcome back!</p>
}
else
{
<p>Please log in.</p>
}
Razor এ foreach লুপ ব্যবহার করে একটি ডেটা তালিকা প্রদর্শন করা যেতে পারে।
@{
var products = new List<string> { "Apple", "Banana", "Orange" };
}
<ul>
@foreach (var product in products)
{
<li>@product</li>
}
</ul>
Razor টেমপ্লেট কোড HTML এর মধ্যে C# কোড এম্বেড করে, যা ডাইনামিক ওয়েব পেজ তৈরি করতে সহায়তা করে।
<!DOCTYPE html>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
<h1>Welcome to Razor</h1>
<p>Today's date: @DateTime.Now</p>
</body>
</html>
উপরের কোডটি পেজে বর্তমান তারিখ প্রদর্শন করবে।
Razor Pages হলো ASP.Net Core অ্যাপ্লিকেশনের একটি নতুন ফিচার, যা সিম্পল ও ইজি-টু-ইউজ ফিচার হিসেবে Razor ভিউয়ের সাথে ইন্টিগ্রেটেড। Razor Pages সাধারণত MVC আর্কিটেকচারের চেয়ে সরল এবং খুব কম কোডে ডাইনামিক ওয়েব পেজ তৈরি করতে সাহায্য করে।
Razor একটি শক্তিশালী ভিউ ইঞ্জিন যা ASP.Net এবং ASP.Net Core প্রজেক্টে HTML এবং C# কোড একত্রিত করে ডাইনামিক কন্টেন্ট তৈরি করতে সহায়তা করে। এটি সহজ সিনট্যাক্স, নিরাপত্তা এবং প্রপার ফিচারের সাথে ASP.Net অ্যাপ্লিকেশনের জন্য একটি গুরুত্বপূর্ণ অংশ। Razor টেমপ্লেট সিস্টেমটি ডেভেলপারদের দ্রুত এবং কার্যকরভাবে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সক্ষম করে।
Razor একটি view engine যা ASP.Net (বিশেষত ASP.Net Core MVC এবং ASP.Net MVC) এর সাথে ব্যবহার করা হয়। Razor সিম্পল, ক্লিন এবং ডাইনামিক HTML তৈরির জন্য ব্যবহৃত একটি টেমপ্লেটিং ভাষা। এটি C# কোডকে HTML কোডের মধ্যে একীভূত করার জন্য ব্যবহৃত হয় এবং ব্যবহারকারীর ইন্টারফেসের জন্য ডাইনামিক কন্টেন্ট রেন্ডার করতে সাহায্য করে।
Razor সিএসএস, জাভাস্ক্রিপ্ট বা HTML এর সঙ্গে C# কোডকে একত্রিত করার জন্য এক সহজ এবং কার্যকরী উপায় প্রদান করে। Razor ব্যবহার করার মাধ্যমে আপনি কার্যকরভাবে ভিউগুলিতে ডাইনামিক ডেটা এবং লজিক প্রক্রিয়াগুলি প্রয়োগ করতে পারেন।
Razor সিম্পল এবং স্বজ্ঞাত সিনট্যাক্স ব্যবহার করে C# কোড ইনজেক্ট করে HTML এ। Razor সিনট্যাক্সে @ চিহ্ন ব্যবহার করা হয় C# কোডের সঙ্গে HTML কোড মিশ্রিত করতে।
Razor সিনট্যাক্সে C# কোডের জন্য @ চিহ্ন ব্যবহার করা হয়, যা HTML এ কোডের রেন্ডারিংকে অনুমতি দেয়। যেমন:
<h1>Hello, @Model.Name!</h1>
এখানে, @Model.Name C# কোড যা Model
অবজেক্টের Name প্রপার্টি দেখায়।
Razor এ আপনি HTML এর মধ্যে C# এক্সপ্রেশনও ব্যবহার করতে পারেন। @ চিহ্ন দিয়ে C# কোড ব্লক শুরু করা হয়। যেমন:
<p>Current Date: @DateTime.Now</p>
এখানে, Razor @DateTime.Now ব্যবহার করে বর্তমান তারিখ এবং সময় প্রদর্শন করবে।
Razor এ C# এর if-else কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা যায়:
@if (Model.IsLoggedIn)
{
<p>Welcome back, @Model.UserName!</p>
}
else
{
<p>Please log in to continue.</p>
}
এখানে, if-else কন্ডিশন ব্যবহার করে লগইন স্ট্যাটাসের ওপর ভিত্তি করে আলাদা মেসেজ দেখানো হচ্ছে।
Razor এ C# এর for, foreach বা while লুপ ব্যবহার করা যায় ডাইনামিক ডেটা রেন্ডার করার জন্য। যেমন:
<ul>
@foreach(var item in Model.Items)
{
<li>@item.Name</li>
}
</ul>
এখানে @foreach ব্যবহার করে Model.Items
লিস্টের প্রতিটি আইটেমের নাম একটি <li>
ট্যাগের মধ্যে প্রদর্শন করা হচ্ছে।
Razor এ @{ } সিঙ্কট্যাক্স ব্যবহার করে আপনি একাধিক C# কোড স্টেটমেন্ট একত্রিত করতে পারেন:
@{
var greeting = "Hello, " + Model.UserName;
}
<p>@greeting</p>
এখানে @{ } ব্যবহার করে greeting
ভেরিয়েবলটি ডিফাইন করা হয়েছে এবং তারপর তা HTML পেজে রেন্ডার করা হয়েছে।
Razor এ C# ফাংশন বা মেথডও কল করা যায়। যেমন:
<p>Sum: @Add(5, 10)</p>
@functions {
public int Add(int a, int b)
{
return a + b;
}
}
এখানে @Add(5, 10) ব্যবহার করে একটি কাস্টম Add মেথড কল করা হয়েছে, যেটি দুটি সংখ্যার যোগফল প্রদান করবে।
Razor সিনট্যাক্স প্রজেক্টের Views ফোল্ডারে .cshtml ফাইল হিসেবে ব্যবহার করা হয়। ASP.Net Core MVC অ্যাপ্লিকেশন বা ASP.Net MVC অ্যাপ্লিকেশন তৈরি করার সময় এই Razor টেমপ্লেটগুলি তৈরি এবং ব্যবহৃত হয়।
Razor ভিউ তে আপনি Model অবজেক্টের ডেটা রেন্ডার করতে পারেন। Model সাধারণত Controller থেকে ভিউতে পাস করা হয়।
@model YourNamespace.Models.Product
<h1>@Model.Name</h1>
<p>@Model.Description</p>
<p>Price: @Model.Price</p>
এখানে, @Model দিয়ে Product মডেলের ডেটা ভিউতে রেন্ডার হচ্ছে।
Razor টেমপ্লেটে Partial Views ব্যবহার করা যায়, যেখানে নির্দিষ্ট অংশের HTML বা C# কোড অন্য একটি ভিউ ফাইল থেকে রেন্ডার করা হয়। যেমন:
@Html.Partial("_ProductList", Model)
এখানে _ProductList হলো একটি Partial View যা নির্দিষ্ট ডেটা রেন্ডার করতে সাহায্য করবে।
Razor স্বয়ংক্রিয়ভাবে HTML encoding ব্যবহার করে আক্রমণ থেকে রক্ষা করে, অর্থাৎ আপনি যদি HTML বা JavaScript ইনপুট গ্রহণ করেন তবে এটি স্বয়ংক্রিয়ভাবে সেগুলিকে সঠিকভাবে এনকোড করে যা Cross-Site Scripting (XSS) আক্রমণ থেকে সুরক্ষা দেয়।
উদাহরণ:
<p>@Model.UserInput</p>
এখানে @Model.UserInput ইনপুটটিকে নিরাপদভাবে HTML তে রেন্ডার করবে।
Razor সিনট্যাক্স ASP.Net MVC এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে ডাইনামিক HTML পেজ তৈরির জন্য একটি শক্তিশালী টুল। এটি HTML এবং C# কোডের মিশ্রণ সম্ভব করে, যা ডেভেলপারদের ডাইনামিক কন্টেন্ট, লজিক এবং ভিউ তৈরি করার সুবিধা দেয়। Razor সিনট্যাক্স সহজ, কার্যকর এবং ব্যবহারকারীকে একত্রিত HTML এবং কোড ব্যবহারের জন্য নির্ভরযোগ্য একটি উপায় প্রদান করে।
Razor হলো একটি view engine যা ASP.Net প্রজেক্টে ডায়নামিক HTML কন্টেন্ট তৈরি করতে ব্যবহৃত হয়। এটি Model-View-Controller (MVC) অ্যাপ্লিকেশনের মধ্যে View স্তরে ব্যবহৃত হয় এবং C# কোডকে HTML এর সাথে একত্রিত করতে সাহায্য করে। Razor ব্যবহার করে আপনি ডায়নামিক কন্টেন্ট সহজেই তৈরি এবং প্রদর্শন করতে পারবেন।
Razor Syntax: Razor সিনট্যাক্স খুবই সরল এবং এটি HTML এর মধ্যে C# কোড এম্বেড করার জন্য ব্যবহার করা হয়। Razor কোড সবসময় @
চিহ্ন দিয়ে শুরু হয়।
উদাহরণ:
<h1>@DateTime.Now</h1>
Razor ভিউ ফাইলের এক্সটেনশন হলো .cshtml (C# Razor HTML)। এই ফাইলগুলো Views ফোল্ডারে থাকে এবং Controller এর মাধ্যমে ডাটা পাঠিয়ে প্রদর্শন করা হয়।
HomeController.cs (Controller)
public class HomeController : Controller
{
public IActionResult Index()
{
var products = new List<string> { "Laptop", "Mobile", "Tablet" };
return View(products); // View এ ডাটা পাঠানো হচ্ছে
}
}
Index.cshtml (View)
<h1>Product List</h1>
<ul>
@foreach(var product in Model)
{
<li>@product</li> <!-- Model থেকে ডাটা প্রদর্শন -->
}
</ul>
এখানে HomeController এর Index অ্যাকশন মেথডের মাধ্যমে একটি ডাটা লিস্ট View (Index.cshtml) তে পাঠানো হয়েছে। @foreach লুপের মাধ্যমে প্রতিটি প্রোডাক্টের নাম HTML লিস্ট হিসেবে প্রদর্শিত হচ্ছে।
Razor ব্যবহার করে আপনি বিভিন্ন ডায়নামিক ডেটা HTML পেজে দেখাতে পারেন, যেমন:
Model থেকে ডেটা প্রদর্শন:
<h2>@Model.Title</h2>
<p>@Model.Description</p>
কন্ডিশনাল লজিক ব্যবহার:
@if (Model.IsAvailable)
{
<p>The item is available!</p>
}
else
{
<p>The item is out of stock.</p>
}
foreach লুপ ব্যবহার:
<ul>
@foreach(var item in Model.Items)
{
<li>@item.Name</li>
}
</ul>
Razor ব্যবহার করে আপনি HTML ফর্ম তৈরি করতে পারেন এবং সেই ফর্ম থেকে ডেটা প্রসেস করতে পারেন:
TextBox, Dropdown, Button:
<form method="post">
<input type="text" name="username" />
<select name="country">
<option>USA</option>
<option>Canada</option>
</select>
<button type="submit">Submit</button>
</form>
Partial Views ছোট টুকরো ভিউ হিসেবে ব্যবহৃত হয় যা একাধিক ভিউয়ের মধ্যে পুনঃব্যবহারযোগ্য। উদাহরণস্বরূপ, আপনি একটি অংশবিশেষ (যেমন: ন্যাভিগেশন বার বা ফুটার) পুরো অ্যাপ্লিকেশনজুড়ে ব্যবহার করতে পারেন।
উদাহরণ:
@Html.Partial("_NavigationBar")
Layouts Razor ভিউয়ের জন্য একটি সাধারণ স্কেলেবল কাঠামো। এটি মূলত একটি সাধারণ শিরোনাম বা পাদটীকা সংযুক্ত করতে ব্যবহৃত হয় যা সমস্ত ভিউতে পুনঃব্যবহারযোগ্য।
উদাহরণ:
@layout "_MainLayout"
@RenderSection(): এটি নির্দিষ্ট বিভাগে কাস্টম কন্টেন্ট যুক্ত করতে ব্যবহৃত হয়।
উদাহরণ:
@section Scripts
{
<script src="~/js/custom.js"></script>
}
if
, else
, for
, foreach
ইত্যাদি ব্যবহার করে ডায়নামিক কন্টেন্ট তৈরি করা যায়।Razor হলো ASP.Net MVC বা ASP.Net Core অ্যাপ্লিকেশনগুলির জন্য একটি শক্তিশালী view engine, যা HTML এবং C# কোডকে একত্রিত করে ডায়নামিক কন্টেন্ট প্রদর্শন করতে ব্যবহৃত হয়। Razor এর মাধ্যমে সহজেই ডেটা প্রদর্শন, কন্ডিশনাল লজিক এবং লুপ ব্যবহার করা যায়। এটি MVC আর্কিটেকচারের সাথে সমন্বিত হয়ে ডেভেলপমেন্ট প্রক্রিয়াকে আরও সোজা এবং দ্রুত করে।
ASP.Net MVC এবং ASP.Net Core MVC অ্যাপ্লিকেশনগুলোতে Layouts এবং Partials ব্যবহৃত হয় সাধারণভাবে পুনঃব্যবহারযোগ্য UI অংশ তৈরি করার জন্য। এই দুটি কনসেপ্ট অ্যাপ্লিকেশনের ভিউ লেয়ারের কাঠামোকে আরও পরিষ্কার এবং পুনঃব্যবহারযোগ্য করে তোলে। এখানে আমরা বিস্তারিতভাবে Layouts এবং Partials এর কাজ এবং ব্যবহারের পদ্ধতি আলোচনা করব।
Layouts একটি সাধারণ পেজ কাঠামো বা টেমপ্লেট হিসেবে কাজ করে, যা সমস্ত পেজে পুনরায় ব্যবহার করা হয়। এটি একটি common structure প্রদান করে, যেমন: হেডার, ফুটার, ন্যাভিগেশন বার, যা একাধিক ভিউ বা পেজে ব্যবহৃত হতে পারে।
_Layout.cshtml ফাইল তৈরি:
Views/Shared/_Layout.cshtml
নামক ফাইলটি Shared ফোল্ডারে রাখা হয় এবং এটি অ্যাপ্লিকেশনের মূল লেআউট হিসেবে কাজ করে।উদাহরণ (প্রাথমিক _Layout.cshtml):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewData["Title"]</title>
<link rel="stylesheet" href="~/css/site.css" />
</head>
<body>
<header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/About">About</a></li>
<li><a href="/Contact">Contact</a></li>
</ul>
</nav>
</header>
<main>
@RenderBody()
</main>
<footer>
<p>© @DateTime.Now.Year - My ASP.Net Application</p>
</footer>
</body>
</html>
Layout ব্যবহার করা:
@Layout
ডিরেকটিভ ব্যবহার করতে হয়। সাধারণত, এটি ভিউ ফাইলের শীর্ষে ব্যবহার করা হয়।উদাহরণ:
@layout "_Layout.cshtml"
Views/_ViewStart.cshtml
ফাইলে ডিফাইন করা হয়:@{
Layout = "_Layout";
}
@RenderBody()
ডিরেকটিভের মাধ্যমে মূল কনটেন্ট (যে ভিউটি ব্যবহার হচ্ছে) সেটি ইনজেক্ট করা হয়। প্রতিটি ভিউ RenderBody থেকে নিজের কন্টেন্ট পাঠায়।Partials হল ছোট ভিউ অংশ যা কোনও নির্দিষ্ট UI ফিচার বা উপাদান পুনঃব্যবহারযোগ্য করতে ব্যবহৃত হয়। পার্শিয়াল ভিউগুলি সাধারণত একাধিক স্থানে ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি product list বা login form একটি পার্শিয়াল ভিউ হতে পারে, যা অনেক পেজে ব্যবহার করা হবে।
Partial ভিউ তৈরি করা:
Views/Shared
ফোল্ডারে রাখা হয়। এগুলি .cshtml ফাইল হয়।উদাহরণ: _ProductList.cshtml
নামে একটি পার্শিয়াল ভিউ তৈরি করা।
@model IEnumerable<MyApp.Models.Product>
<div class="product-list">
@foreach (var product in Model)
{
<div class="product-item">
<h3>@product.Name</h3>
<p>@product.Description</p>
<span>@product.Price</span>
</div>
}
</div>
Partial ভিউ ব্যবহার করা:
উদাহরণ:
@Html.Partial("_ProductList", Model.Products)
উদাহরণ (Asynchronous):
@await Html.PartialAsync("_ProductList", Model.Products)
বৈশিষ্ট্য | Layout | Partial |
---|---|---|
ব্যবহার | সমস্ত পেজে সাধারণ কাঠামো প্রদান | নির্দিষ্ট UI অংশ পুনঃব্যবহার |
কোড বিভাজন | সাধারণ পেজ কাঠামো (হেডার, ফুটার, সাইডবার) | ছোট ভিউ অংশ (ফর্ম, প্রোডাক্ট লিস্ট) |
কোড পুনঃব্যবহার | একাধিক পেজে লেআউট পুনঃব্যবহার করা হয় | পার্শিয়াল ভিউ একাধিক স্থানে ব্যবহার করা হয় |
প্রধান কাজ | পুরো পেজের কাঠামো সেট করা | ছোট অংশে UI উপাদান প্রদর্শন |
এই দুটি কনসেপ্ট ব্যবহার করে আপনি আপনার ASP.Net প্রজেক্টের UI কে আরো পরিষ্কার, সংগঠিত এবং পুনঃব্যবহারযোগ্য করে তুলতে পারবেন।
Razor হল একটি view engine যা ASP.Net MVC এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে ডায়নামিক HTML তৈরি করতে ব্যবহৃত হয়। Razor-এর মাধ্যমে আপনি C# কোডকে HTML-এর সাথে সহজে একত্রিত করতে পারেন, যার ফলে আপনি ডায়নামিকভাবে ডেটা প্রদর্শন করতে এবং ইন্টারঅ্যাকটিভ ওয়েব পেজ তৈরি করতে পারেন। Razor HTML এবং CSS-এর সাথে সহজেই ইন্টিগ্রেট করা যায়, যা ASP.Net অ্যাপ্লিকেশনগুলিকে আরও গতিশীল এবং ব্যবহারকারী-বান্ধব করে তোলে।
Razor কোড HTML এর মধ্যে এম্বেড করা হয়। এটি সাধারণত @
সাইন দ্বারা চিহ্নিত হয়, যা C# কোডের ইনপুট বা আউটপুট প্রকাশ করে। এখানে একটি উদাহরণ দেওয়া হলো যেখানে Razor কোড HTML-এর মধ্যে ব্যবহার করা হচ্ছে:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with HTML</title>
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে @ViewData["Title"]
এবং @DateTime.Now.ToString("dd-MM-yyyy")
Razor কোড HTML-এর মধ্যে এম্বেড করা হয়েছে। @ViewData হল একটি dictionary যা কন্ট্রোলার থেকে ভিউতে ডেটা পাঠাতে ব্যবহৃত হয়।
Razor ভিউতে CSS সংযোজন করার জন্য, আপনি সাধারণ HTML <link>
ট্যাগ ব্যবহার করতে পারেন যেটি আপনার CSS ফাইলকে লিঙ্ক করে। এটি আপনি wwwroot ফোল্ডারে রাখবেন (যেখানে সমস্ত স্ট্যাটিক ফাইল রাখা হয়)।
CSS ফাইল তৈরি করা:
styles.css
।styles.css:
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
h1 {
color: #333;
}
CSS ফাইল Razor ভিউতে যুক্ত করা:
<link>
ট্যাগের মাধ্যমে যুক্ত করুন।Razor View (Index.cshtml):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with HTML and CSS</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে href="~/css/styles.css"
Razor সিনট্যাক্স দ্বারা wwwroot/css/styles.css ফাইলটি সঠিকভাবে যুক্ত করা হয়েছে।
আপনি Razor ভিউতে CSS এর ইনলাইন স্টাইলও ব্যবহার করতে পারেন। এতে প্রতিটি HTML ট্যাগের মধ্যে সরাসরি স্টাইল প্রয়োগ করা হয়। উদাহরণ:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Inline CSS</title>
</head>
<body style="background-color: #f0f0f0; font-family: Arial, sans-serif;">
<h1 style="color: #333;">@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে style="background-color: #f0f0f0;"
CSS কোড সরাসরি HTML ট্যাগে ব্যবহৃত হয়েছে।
Razor ব্যবহার করে আপনি CSS ক্লাসগুলোকে ডায়নামিকভাবে অ্যাসাইন করতে পারেন, অর্থাৎ, আপনি কোডের মাধ্যমে CSS ক্লাস যুক্ত বা পরিবর্তন করতে পারেন।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Dynamic CSS</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1 class="@ViewData["TitleClass"]">@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
</body>
</html>
এখানে, @ViewData["TitleClass"] Razor কোড ব্যবহার করে class অ্যাট্রিবিউট ডাইনামিকভাবে সেট করা হয়েছে। আপনি কন্ট্রোলার থেকে ডাইনামিক CSS ক্লাস পাঠাতে পারেন:
public IActionResult Index()
{
ViewData["Title"] = "Welcome to Razor!";
ViewData["TitleClass"] = "highlight"; // CSS ক্লাসের নাম
return View();
}
এখানে highlight
CSS ক্লাসটি Razor ভিউতে ডায়নামিকভাবে অ্যাসাইন করা হয়েছে।
CSS মিডিয়া কোয়ারি ব্যবহার করে আপনি ভিউতে বিভিন্ন স্ক্রীন সাইজের জন্য আলাদা স্টাইল প্রয়োগ করতে পারেন। Razor ভিউতে মিডিয়া কোয়ারি কাস্টমাইজেশনও করা সম্ভব।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Razor with Media Queries</title>
<link rel="stylesheet" href="~/css/styles.css">
</head>
<body>
<h1>@ViewData["Title"]</h1>
<p>Today's date is: @DateTime.Now.ToString("dd-MM-yyyy")</p>
<style>
@media only screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
</style>
</body>
</html>
এখানে @media only screen and (max-width: 600px)
CSS মিডিয়া কোয়ারি ব্যবহার করা হয়েছে, যা স্ক্রীনের আকারের উপর ভিত্তি করে স্টাইল পরিবর্তন করে।
Read more