Skill

ডায়নামিক কন্টেন্ট প্রদর্শনের জন্য Razor ব্যবহার

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

Razor হলো একটি view engine যা ASP.Net প্রজেক্টে ডায়নামিক HTML কন্টেন্ট তৈরি করতে ব্যবহৃত হয়। এটি Model-View-Controller (MVC) অ্যাপ্লিকেশনের মধ্যে View স্তরে ব্যবহৃত হয় এবং C# কোডকে HTML এর সাথে একত্রিত করতে সাহায্য করে। Razor ব্যবহার করে আপনি ডায়নামিক কন্টেন্ট সহজেই তৈরি এবং প্রদর্শন করতে পারবেন।


Razor এর মৌলিক ধারণা

  • Razor Syntax: Razor সিনট্যাক্স খুবই সরল এবং এটি HTML এর মধ্যে C# কোড এম্বেড করার জন্য ব্যবহার করা হয়। Razor কোড সবসময় @ চিহ্ন দিয়ে শুরু হয়।

    উদাহরণ:

    <h1>@DateTime.Now</h1>
    
  • Razor এক্সপ্রেশন সাধারণত HTML এর মধ্যে ডায়নামিক ডেটা রেন্ডার করার জন্য ব্যবহৃত হয়, যেমন:
    • মডেল ডেটা প্রদর্শন
    • লুপ এবং কন্ডিশনাল লজিক

Razor ভিউ ফাইল

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 এ ডায়নামিক ডেটা প্রদর্শন

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>
    

Razor এর অন্যান্য বৈশিষ্ট্য

১. Partial Views

  • Partial Views ছোট টুকরো ভিউ হিসেবে ব্যবহৃত হয় যা একাধিক ভিউয়ের মধ্যে পুনঃব্যবহারযোগ্য। উদাহরণস্বরূপ, আপনি একটি অংশবিশেষ (যেমন: ন্যাভিগেশন বার বা ফুটার) পুরো অ্যাপ্লিকেশনজুড়ে ব্যবহার করতে পারেন।

    উদাহরণ:

    @Html.Partial("_NavigationBar")
    

২. Layouts

  • Layouts Razor ভিউয়ের জন্য একটি সাধারণ স্কেলেবল কাঠামো। এটি মূলত একটি সাধারণ শিরোনাম বা পাদটীকা সংযুক্ত করতে ব্যবহৃত হয় যা সমস্ত ভিউতে পুনঃব্যবহারযোগ্য।

    উদাহরণ:

    @layout "_MainLayout"
    

৩. @RenderBody() এবং @RenderSection()

  • @RenderBody(): এটি লেআউট পৃষ্ঠায় সাধারণভাবে সমস্ত ভিউ কন্টেন্ট প্রদর্শন করে।
  • @RenderSection(): এটি নির্দিষ্ট বিভাগে কাস্টম কন্টেন্ট যুক্ত করতে ব্যবহৃত হয়।

    উদাহরণ:

    @section Scripts
    {
        <script src="~/js/custom.js"></script>
    }
    

Razor এর মাধ্যমে ডায়নামিক কন্টেন্ট প্রদর্শনের সুবিধা

  • সিম্পল সিনট্যাক্স: Razor কোড খুবই সোজা এবং HTML এর মধ্যে C# কোড এম্বেড করা যায়।
  • কন্ডিশনাল লজিক: if, else, for, foreach ইত্যাদি ব্যবহার করে ডায়নামিক কন্টেন্ট তৈরি করা যায়।
  • Model-View-Controller (MVC) এর সাথে সমন্বয়: Razor খুব সহজে Controller থেকে Model ডেটা গ্রহণ করে এবং তা View-এ প্রদর্শন করতে সহায়ক।
  • ফর্মস এবং ইউজার ইনপুট: Razor ফর্ম তৈরি এবং ইউজারের ইনপুট প্রক্রিয়া সহজতর করে।

সারাংশ

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

Content added By
Promotion