Razor পেজে ফর্ম হ্যান্ডলিং

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core) রেজার পেজ (Razor Pages) |
203
203

Razor পেজ (Razor Pages) হলো ASP.NET Core এর একটি মডেল, যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য একটি সহজ এবং পরিষ্কার পদ্ধতি প্রদান করে। Razor পেজে ফর্ম হ্যান্ডলিং খুবই সহজ এবং কার্যকরী, যেখানে ব্যবহারকারীরা বিভিন্ন ইনপুট প্রদান করে এবং সেই ডেটা সার্ভারে প্রক্রিয়া করা হয়।


Razor পেজে ফর্ম হ্যান্ডলিং কীভাবে কাজ করে?

Razor পেজে ফর্ম হ্যান্ডলিংয়ের জন্য আপনাকে কিছু মৌলিক স্টেপ অনুসরণ করতে হবে, যেমন:

  1. HTML ফর্ম তৈরি করা
  2. মডেল তৈরি করা যা ডেটা বাইন্ডিংয়ের জন্য ব্যবহৃত হবে।
  3. OnPost মেথড ব্যবহার করে ফর্মের ডেটা প্রসেস করা।

Razor পেজে ফর্ম হ্যান্ডলিং উদাহরণ

এখানে একটি সাধারণ Razor পেজে ফর্ম হ্যান্ডলিংয়ের উদাহরণ দেওয়া হল, যেখানে একটি কনট্যাক্ট ফর্ম তৈরি করা হয়েছে। ফর্মটি ব্যবহারকারীর নাম এবং ইমেইল গ্রহণ করবে এবং পরবর্তীতে সেই ডেটা প্রদর্শন করবে।

1. Razor পেজ তৈরি করা

প্রথমে, Razor পেজ তৈরি করতে হবে। আমরা একটি Razor পেজ Contact.cshtml এবং এর সাথে একটি Contact.cshtml.cs পেজ মডেল তৈরি করব।

Contact.cshtml (Razor পেজ)

@page
@model RazorPagesExample.Pages.ContactModel

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Contact Form</title>
</head>
<body>
    <h2>Contact Us</h2>
    <form method="post">
        <div>
            <label for="Name">Name:</label>
            <input type="text" id="Name" name="Name" value="@Model.Contact.Name" />
        </div>
        <div>
            <label for="Email">Email:</label>
            <input type="email" id="Email" name="Email" value="@Model.Contact.Email" />
        </div>
        <div>
            <button type="submit">Submit</button>
        </div>
    </form>

    @if (Model.IsSubmitted)
    {
        <div>
            <h3>Thank you for contacting us, @Model.Contact.Name!</h3>
            <p>We have received your message and will get back to you soon.</p>
        </div>
    }
</body>
</html>

2. Razor পেজ মডেল (Page Model) তৈরি করা

এখন, ContactModel.cs ফাইল তৈরি করতে হবে, যা Razor পেজের লজিক এবং ডেটা হ্যান্ডলিং করবে। এই মডেল ফাইলে আমরা ফর্মের ডেটা বাইনডিং এবং সাবমিট করার পরে সেটি প্রসেস করব।

Contact.cshtml.cs (Page Model)

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace RazorPagesExample.Pages
{
    public class ContactModel : PageModel
    {
        [BindProperty]
        public ContactForm Contact { get; set; }

        public bool IsSubmitted { get; set; }

        public void OnGet()
        {
            // প্রাথমিকভাবে পেজ লোড হলে কোনো ডেটা প্রসেস করার প্রয়োজন নেই
        }

        public void OnPost()
        {
            if (ModelState.IsValid)
            {
                // ফর্ম সাবমিট হলে ডেটা প্রসেস করা হয়
                IsSubmitted = true;
            }
        }
    }

    public class ContactForm
    {
        public string Name { get; set; }
        public string Email { get; set; }
    }
}

3. ডেটা বাইনডিং এবং ফর্ম সাবমিট

  • ContactForm ক্লাসটি ব্যবহারকারীর ইনপুট ডেটা (নাম এবং ইমেইল) ধারণ করবে।
  • OnPost() মেথডটি ফর্ম সাবমিট হলে চালু হবে। এখানে আমরা ফর্মের ডেটা প্রসেস করতে পারি, যেমন ডেটাবেজে সেভ করা বা ইমেইল পাঠানো।
  • @Model.Contact.Name এবং @Model.Contact.Email Razor পেজে ডেটা প্রদর্শন এবং ব্যবহার করার জন্য ব্যবহার করা হচ্ছে।
  • @Model.IsSubmitted এর মাধ্যমে আমরা ফর্মটি সফলভাবে সাবমিট হওয়ার পর একটি কনফার্মেশন মেসেজ প্রদর্শন করি।

Razor পেজে ফর্ম হ্যান্ডলিংয়ের অন্যান্য বৈশিষ্ট্য

  • ডেটা ভ্যালিডেশন: Razor পেজে আপনি ডেটা ভ্যালিডেশন করতে পারেন, যেমন DataAnnotations ব্যবহার করে। উদাহরণস্বরূপ, যদি ব্যবহারকারী ইমেইল ফিল্ডটি খালি রাখে তবে এটি ভ্যালিডেশন ত্রুটি দেখাবে।

    উদাহরণ:

    public class ContactForm
    {
        [Required(ErrorMessage = "Name is required")]
        public string Name { get; set; }
    
        [Required(ErrorMessage = "Email is required")]
        [EmailAddress(ErrorMessage = "Invalid Email Address")]
        public string Email { get; set; }
    }
    
  • অ্যাসিনক্রোনাস (Async) ফর্ম হ্যান্ডলিং: আপনি ফর্ম সাবমিট করার সময় অ্যাসিনক্রোনাস মেথড ব্যবহার করতে পারেন। এটি বড় ফর্ম বা ডেটাবেস সেভ করার মতো কাজের জন্য উপকারী।

    উদাহরণ:

    public async Task<IActionResult> OnPostAsync()
    {
        if (ModelState.IsValid)
        {
            // অ্যাসিনক্রোনাস ডেটা প্রসেসিং
            return RedirectToPage("Success");
        }
        return Page();
    }
    

সারাংশ

Razor পেজে ফর্ম হ্যান্ডলিং একটি সহজ এবং কার্যকরী প্রক্রিয়া। Razor পেজ আপনাকে HTML ফর্ম তৈরি এবং তার ডেটা সরাসরি মডেল ক্লাসের মাধ্যমে সার্ভারে প্রক্রিয়াকরণ করতে সাহায্য করে। ডেটা বাইনডিং, ভ্যালিডেশন এবং সাবমিট করার মাধ্যমে আপনি একটি উন্নত ফর্ম হ্যান্ডলিং সিস্টেম তৈরি করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion