Razor Syntax এবং তার ব্যবহার

Web Development - এএসপি ডট (ASP.Net) - ASP.Net এর Razor Syntax |

Razor একটি view engine যা ASP.Net (বিশেষত ASP.Net Core MVC এবং ASP.Net MVC) এর সাথে ব্যবহার করা হয়। Razor সিম্পল, ক্লিন এবং ডাইনামিক HTML তৈরির জন্য ব্যবহৃত একটি টেমপ্লেটিং ভাষা। এটি C# কোডকে HTML কোডের মধ্যে একীভূত করার জন্য ব্যবহৃত হয় এবং ব্যবহারকারীর ইন্টারফেসের জন্য ডাইনামিক কন্টেন্ট রেন্ডার করতে সাহায্য করে।

Razor সিএসএস, জাভাস্ক্রিপ্ট বা HTML এর সঙ্গে C# কোডকে একত্রিত করার জন্য এক সহজ এবং কার্যকরী উপায় প্রদান করে। Razor ব্যবহার করার মাধ্যমে আপনি কার্যকরভাবে ভিউগুলিতে ডাইনামিক ডেটা এবং লজিক প্রক্রিয়াগুলি প্রয়োগ করতে পারেন।


Razor Syntax: মৌলিক ধারণা

Razor সিম্পল এবং স্বজ্ঞাত সিনট্যাক্স ব্যবহার করে C# কোড ইনজেক্ট করে HTML এ। Razor সিনট্যাক্সে @ চিহ্ন ব্যবহার করা হয় C# কোডের সঙ্গে HTML কোড মিশ্রিত করতে।

১. ডাইনামিক কনটেন্ট রেন্ডারিং

Razor সিনট্যাক্সে C# কোডের জন্য @ চিহ্ন ব্যবহার করা হয়, যা HTML এ কোডের রেন্ডারিংকে অনুমতি দেয়। যেমন:

<h1>Hello, @Model.Name!</h1>

এখানে, @Model.Name C# কোড যা Model অবজেক্টের Name প্রপার্টি দেখায়।


Razor Syntax: বিভিন্ন ফিচার

২. ভেরিয়েবল এবং এক্সপ্রেশনস

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 কন্ডিশন ব্যবহার করে লগইন স্ট্যাটাসের ওপর ভিত্তি করে আলাদা মেসেজ দেখানো হচ্ছে।

৪. লুপ (Loops)

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 Syntax: ইন্টিগ্রেশন এবং ব্যবহার

Razor সিনট্যাক্স প্রজেক্টের Views ফোল্ডারে .cshtml ফাইল হিসেবে ব্যবহার করা হয়। ASP.Net Core MVC অ্যাপ্লিকেশন বা ASP.Net MVC অ্যাপ্লিকেশন তৈরি করার সময় এই Razor টেমপ্লেটগুলি তৈরি এবং ব্যবহৃত হয়।

৭. 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

Razor টেমপ্লেটে Partial Views ব্যবহার করা যায়, যেখানে নির্দিষ্ট অংশের HTML বা C# কোড অন্য একটি ভিউ ফাইল থেকে রেন্ডার করা হয়। যেমন:

@Html.Partial("_ProductList", Model)

এখানে _ProductList হলো একটি Partial View যা নির্দিষ্ট ডেটা রেন্ডার করতে সাহায্য করবে।


Razor Syntax: নিরাপত্তা

Razor স্বয়ংক্রিয়ভাবে HTML encoding ব্যবহার করে আক্রমণ থেকে রক্ষা করে, অর্থাৎ আপনি যদি HTML বা JavaScript ইনপুট গ্রহণ করেন তবে এটি স্বয়ংক্রিয়ভাবে সেগুলিকে সঠিকভাবে এনকোড করে যা Cross-Site Scripting (XSS) আক্রমণ থেকে সুরক্ষা দেয়।

উদাহরণ:

<p>@Model.UserInput</p>

এখানে @Model.UserInput ইনপুটটিকে নিরাপদভাবে HTML তে রেন্ডার করবে।


Razor Syntax ব্যবহার করতে কিছু পরামর্শ

  1. নিরাপত্তা: ডাইনামিক ডেটা রেন্ডার করার সময় সবসময় Razor এ @ চিহ্ন ব্যবহার করে ডেটা ইনপুট করুন, যাতে XSS আক্রমণ থেকে সুরক্ষা নিশ্চিত করা যায়।
  2. ব্লক কোডের জন্য @{ } ব্যবহার করুন।
  3. হালকা লজিক ব্যবহার করতে, Razor এর মধ্যে কোড এবং HTML কোড মিশ্রিত করতে পারবেন। তবে কোড ব্লক কমপ্যাক্ট রাখুন, যেন সহজে বুঝতে পারেন।

সারাংশ

Razor সিনট্যাক্স ASP.Net MVC এবং ASP.Net Core অ্যাপ্লিকেশনগুলিতে ডাইনামিক HTML পেজ তৈরির জন্য একটি শক্তিশালী টুল। এটি HTML এবং C# কোডের মিশ্রণ সম্ভব করে, যা ডেভেলপারদের ডাইনামিক কন্টেন্ট, লজিক এবং ভিউ তৈরি করার সুবিধা দেয়। Razor সিনট্যাক্স সহজ, কার্যকর এবং ব্যবহারকারীকে একত্রিত HTML এবং কোড ব্যবহারের জন্য নির্ভরযোগ্য একটি উপায় প্রদান করে।

Content added By
Promotion