ASP.Net MVC-তে Layouts, Sections, এবং Partial Views হলো গুরুত্বপূর্ণ কনসেপ্ট যা ওয়েব অ্যাপ্লিকেশনের UI তৈরি করার সময় ব্যবহার করা হয়। এগুলি আপনাকে অ্যাপ্লিকেশনগুলির পুনঃব্যবহারযোগ্য এবং কাঠামোগত কোড তৈরি করতে সাহায্য করে, ফলে উন্নত পারফরম্যান্স এবং সহজ রক্ষণাবেক্ষণ নিশ্চিত হয়।
Layouts হল একটি ধরনের "শ্রেণীভুক্ত" টেমপ্লেট যা অ্যাপ্লিকেশনের বিভিন্ন পৃষ্ঠার জন্য সাধারণ ইউআই উপাদান যেমন হেডার, ফুটার, সাইডবার ইত্যাদি তৈরি করে। এটি অ্যাপ্লিকেশনের প্রতিটি পৃষ্ঠার জন্য এককভাবে ব্যবহৃত হয়, তাই বার বার একই কোড লেখার প্রয়োজন হয় না। সাধারণভাবে, Layout একটি HTML টেমপ্লেট হিসেবে কাজ করে, যেখানে কন্টেন্টকে ভিউ (View) হিসেবে অন্তর্ভুক্ত করা হয়।
Layout ফাইলটি সাধারণত _Layout.cshtml নামে Views/Shared ফোল্ডারে সংরক্ষণ করা হয়। উদাহরণস্বরূপ:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Website</title>
</head>
<body>
<header>
<h1>Welcome to My Website</h1>
<!-- Navigation bar here -->
</header>
<div>
@RenderBody() <!-- ভিউয়ের কন্টেন্ট এখানে রেন্ডার হবে -->
</div>
<footer>
<p>© 2024 My Website</p>
</footer>
</body>
</html>
কোনো ভিউতে Layout ব্যবহার করার জন্য, ভিউ ফাইলের উপরে নিচের কোডটি রাখতে হবে:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
এটি তখন নির্দিষ্ট Layout ফাইলটিকে ব্যবহার করবে এবং আপনার কন্টেন্ট সেই Layout এর মধ্যে রেন্ডার হবে।
Sections হল কাস্টমizable অংশ যেখানে আপনি Layout ফাইলের মধ্যে ডাইনামিক কন্টেন্ট বা নির্দিষ্ট অংশ যোগ করতে পারেন। এটি সাধারণত কন্টেন্ট যেমন স্ক্রিপ্ট বা সিএসএস ইনক্লুড করতে ব্যবহৃত হয়, যা নির্দিষ্ট পৃষ্ঠার জন্য প্রয়োজন।
Layout ফাইলে @RenderSection() মেথড ব্যবহার করে একটি Section নির্ধারণ করা হয়। উদাহরণ:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Website</title>
@RenderSection("styles", required: false) <!-- Optional section for CSS -->
</head>
<body>
<header>
<h1>Welcome to My Website</h1>
</header>
<div>
@RenderBody()
</div>
<footer>
<p>© 2024 My Website</p>
</footer>
@RenderSection("scripts", required: false) <!-- Optional section for Scripts -->
</body>
</html>
আপনি কোনো ভিউতে Section ব্যবহার করতে পারেন যেখানে আপনি কাস্টম CSS বা JavaScript যোগ করতে চান:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section styles {
<link rel="stylesheet" href="styles/custom.css" />
}
@section scripts {
<script src="scripts/custom.js"></script>
}
এখানে styles
এবং scripts
নামক সেকশনগুলো Layout ফাইলে রেন্ডার হবে।
Partial Views হল ছোট ছোট ভিউ যা পুরো অ্যাপ্লিকেশনের UI কোডকে ভাগ করে কাজ করে। এগুলি সাধারণত UI-এর পুনরাবৃত্ত অংশ (যেমন ফর্ম, টেবিল, বা নেভিগেশন বার) রেন্ডার করার জন্য ব্যবহৃত হয়। Partial Views পুরো পৃষ্ঠা রেন্ডার করার পরিবর্তে শুধু একটি নির্দিষ্ট অংশ রেন্ডার করে, যার ফলে পারফরম্যান্স উন্নত হয় এবং কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি পায়।
Partial View ফাইলটি Views/Shared ফোল্ডারে তৈরি করা হয়, যেমন _ProductList.cshtml। উদাহরণস্বরূপ:
@model IEnumerable<MyApp.Models.Product>
<table>
<tr>
<th>Product Name</th>
<th>Price</th>
</tr>
@foreach(var product in Model)
{
<tr>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</table>
Partial View রেন্ডার করতে, কন্ট্রোলার থেকে Partial মেথড ব্যবহার করা হয়:
public ActionResult ProductList()
{
var products = db.Products.ToList();
return PartialView("_ProductList", products); // Partial View রিটার্ন
}
এছাড়া ভিউতে @Html.Partial() অথবা @Html.RenderPartial() ব্যবহার করেও Partial View রেন্ডার করা যায়:
@Html.Partial("_ProductList", Model)
এখানে, _ProductList
Partial View ফাইলটি রেন্ডার করা হচ্ছে এবং প্রয়োজনীয় মডেল ডেটা পাঠানো হচ্ছে।
Layouts, Sections, এবং Partial Views ব্যবহার করে আপনি ASP.Net MVC অ্যাপ্লিকেশনে কোডকে পুনঃব্যবহারযোগ্য, পরিষ্কার এবং আরও কার্যকরী করতে পারেন। Layouts আপনাকে একাধিক পৃষ্ঠায় সাধারণ কন্টেন্ট যুক্ত করতে সহায়ক, Sections কাস্টম অংশ তৈরি করতে সহায়ক, এবং Partial Views ছোট UI অংশগুলো রেন্ডার করতে ব্যবহৃত হয়। এগুলির সাহায্যে কোডের পুনঃব্যবহারযোগ্যতা বাড়ে এবং অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণ আরও সহজ হয়।
common.read_more