ASP.NET Core MVC অ্যাপ্লিকেশনে Layouts এবং Partial Views ব্যবহারের মাধ্যমে ভিউয়ের কাঠামো এবং পুনঃব্যবহারযোগ্যতা উন্নত করা যায়। এগুলো এমন দুটি ফিচার যা বড় এবং কমপ্লেক্স ওয়েব অ্যাপ্লিকেশনগুলোতে কোড পুনঃব্যবহার এবং স্টাইল এক্সটেনশনকে সহজ করে তোলে।
Layout একটি সাধারণ কনটেইনার ফাইল, যা অন্যান্য ভিউগুলোর জন্য একটি সাধারণ কাঠামো প্রদান করে। Layouts মূলত হেডার, ফুটার, ন্যাভিগেশন বার এবং অন্যান্য সাধারণ উপাদান ধারণ করে, যা পুরো সাইট জুড়ে পুনরাবৃত্তি হতে পারে। যখন ভিউ একটি লেআউট ব্যবহার করে, তখন তা স্বয়ংক্রিয়ভাবে লেআউটের মধ্যে রেন্ডার হয়ে যায়।
Layout ফাইল তৈরি করা
Views/Shared
ফোল্ডারে _Layout.cshtml
নামের একটি ফাইল তৈরি করুন।@layout
ডিরেকটিভ ব্যবহার করে লেআউটের রেফারেন্স দিন।_Layout.cshtml (Layout ফাইল):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewData["Title"]</title>
<link href="~/css/site.css" rel="stylesheet" />
</head>
<body>
<header>
<h1>My Website</h1>
<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>
<div class="container">
@RenderBody() <!-- এখানে ভিউয়ের কন্টেন্ট রেন্ডার হবে -->
</div>
<footer>
<p>© 2024 My Website</p>
</footer>
</body>
</html>
এখানে, @RenderBody()
ট্যাগটি লেআউটের মধ্যে ভিউয়ের মূল কন্টেন্ট রেন্ডার করবে।
ভিউ থেকে Layout ব্যবহার করা:
@{
Layout = "_Layout"; // এখানে লেআউট ফাইল নির্দিষ্ট করা হয়েছে
}
<h2>Welcome to the Home Page</h2>
<p>This is the homepage content.</p>
এখানে, এই ভিউটি _Layout.cshtml
ফাইলের মধ্যে রেন্ডার হবে, যেখানে হেডার, ন্যাভিগেশন এবং ফুটার এরকম গ্লোবাল উপাদান থাকবে।
Partial View হল একটি ছোট, পুনঃব্যবহারযোগ্য ভিউ, যা কোনো বড় ভিউয়ের অংশ হিসেবে ব্যবহৃত হয়। এটি সাধারণত একটি নির্দিষ্ট কম্পোনেন্ট বা উপাদান, যেমন ফর্ম, গ্রিড, টেবিল, অথবা অন্য কোনো UI অংশের জন্য ব্যবহৃত হয়।
Partial View তৈরি করা
Views/Shared
ফোল্ডারে একটি .cshtml
ফাইল তৈরি করুন যা নির্দিষ্ট উপাদান বা কম্পোনেন্ট ধারণ করবে।@Html.Partial()
বা @Html.RenderPartial()
মেথড ব্যবহার করে partial view রেন্ডার করা হয়।_ProductList.cshtml (Partial View):
@model IEnumerable<MyApp.Models.Product>
<table>
<thead>
<tr>
<th>Product Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
@foreach (var product in Model)
{
<tr>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</tbody>
</table>
এখানে _ProductList.cshtml
একটি partial view যা পণ্যের তালিকা প্রদর্শন করবে। এটি একটি IEnumerable<Product>
মডেল গ্রহণ করে।
Partial View রেন্ডার করা:
@{
Layout = "_Layout";
}
<h2>Product List</h2>
@Html.Partial("_ProductList", Model.Products) <!-- Partial View রেন্ডার করা -->
এখানে, @Html.Partial("_ProductList", Model.Products)
দিয়ে আমরা পণ্যের তালিকা রেন্ডার করছি। এই partial view টি মূল ভিউতে ইনক্লুড করা হয়েছে।
সারাংশ
ASP.NET Core MVC তে Layouts এবং Partial Views দুটি গুরুত্বপূর্ণ উপাদান। Layouts ব্যবহার করে অ্যাপ্লিকেশনের সাধারণ কাঠামো এবং UI উপাদানগুলো পুনঃব্যবহারযোগ্য করা যায়, আর Partial Views ছোট, পুনঃব্যবহারযোগ্য UI অংশ হিসেবে ব্যবহৃত হয়, যা ভিউয়ের মধ্যে অন্তর্ভুক্ত করা যায়। এগুলো অ্যাপ্লিকেশনের কোডকে পরিষ্কার এবং সুসংগঠিত রাখতে সহায়তা করে।
common.read_more