ASP.NET Web Pages - পেজ লেআউট

Web Pages দ্বারা, একই লেআউট বাস্তবায়ন করা খুবই সহজ।

একই অনুভূতি

ইন্টারনেটে, আপনি এমন বেশ কিছু ওয়েবসাইট পাবেন যারা একই অনুভূতির মানে রয়েছে:

  • প্রত্যেক পেজে একই হেডার
  • প্রত্যেক পেজে একই ফুটার
  • প্রত্যেক পেজে একই শৈলী ও লেআউট

Web Pages দ্বারা, এইভাবে দ্রুতগতিতে এগুলো বাস্তবায়িত করা যায়। আপনারা পুনর্ব্যবহারযোগ্য কোড ব্লক (কনটেন্ট ব্লক), যেমন হেডার ও ফুটার, স্বতন্ত্র ফাইলে পাবেন。

আপনারা সমস্ত পেজের জন্য একই লেআউটটি নির্ধারণ করতেও পারেন, লেআউট টেমপ্লেট (লেআউট ফাইল) ব্যবহার করে。

কনটেন্ট ব্লক

অনেক ওয়েবসাইটে, প্রত্যেক পেজে প্রদর্শিত হওয়ার কনটেন্ট (যেমন হেডার ও ফুটার) থাকে।

Web Pages দ্বারা, আপনি ব্যবহার করতে পারেন @RenderPage() পদ্ধতি থেকে ভিন্ন ফাইল থেকে কনটেন্ট আমদানি করা হয়。

কনটেন্ট ব্লক (অন্য ফাইল থেকে আসা) ওয়েবপেজের যে কোনও স্থানে প্রবেশ করতে পারে, এবং যেমন সাধারণ ওয়েবপেজের মতোই টেক্সট, ট্যাগ ও কোড ধারণ করতে পারে。

সাধারণ হেডার ও ফুটার ব্যবহার করে, অনেক কাজ বাদ দিতে পারেন। আপনারা প্রত্যেক পেজে একই কনটেন্ট লিখতে হবে না, এবং যখন হেডার ও ফুটার ফাইলটি পরিবর্তন করা হয়, তখন সমস্ত পেজের কনটেন্টও অপশিষ্ট হবে。

কোডে এটি এই রকম:

উদাহরণ

<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1> 
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>

একক চালু করা

Layout পেজ ব্যবহার করে

পূর্ববর্তী কনটেন্টে, আপনি দেখেছেন যে একই কনটেন্টকে একাধিক ওয়েবপেজে উল্লেখ করা খুবই সহজ।

একটি একই অনুভূতির অপর পদ্ধতি হল লেআউট ওয়েবপেজ ব্যবহার করা। Layout ওয়েবপেজ ওয়েবপেজের কাঠামোকে নয়, কনটেন্টকে ধারণ করে। যখন ওয়েবপেজ (কনটেন্ট পেজ) Layout পেজের সাথে লিঙ্ক করা হয়, তখন তা Layout পেজ (টেমপ্লেট) অনুযায়ী প্রদর্শিত হবে。

Layout পেজ সাধারণ ওয়েবপেজের মতো, কিন্তু যখন যোগাযোগ করা কনটেন্ট পেজের স্থানে আক্রমণ করে, তখন তা Layout পেজ (টেমপ্লেট) অনুযায়ী প্রদর্শিত হবে。 @RenderBody() পদ্ধতি。

প্রত্যেক কনটেন্ট পেজ অবশ্যই Layout নির্দেশশুরু থেকে।

কোডে এটি এই রকম:

ওয়েবপেজ সাজানো:

<html>
<body>
<p>এটা লেখা হয়。</p>
@RenderBody()
<p>© 2012 CodeW3C.com. All rights reserved.</p>
</body>
</html>

কোনো ওয়েবপেজ:

@{Layout="Layout.cshtml";}
<h1>Welcome to CodeW3C.com</h1>
<p>
এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়।
এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়।
এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়। এটা লেখা হয়।
</p>

একক চালু করা

আপনি নিজেকে পুনরাবৃত্তি না করুন

দুইটি ASP.NET টুল, কনটেন্ট ব্লক ও লেআউট পৃষ্ঠা, দ্বারা আপনি ওয়েব অ্যাপ্লিকেশনকে একই দেখার ক্ষমতা দিতে পারেন。

এই টুলসকিটগুলি আপনাকে অনেক কাজ করে দেয়, কারণ আপনি সমস্ত পৃষ্ঠায় একই তথ্যকে পুনরায় লিখতে হবে না। ট্যাগ, স্টাইল ও কোডকে একত্রিত করে, যাতে ওয়েব অ্যাপ্লিকেশনটি সহজভাবে পরিচালিত ও রক্ষণাবেক্ষণ করা যায়。

কোড লিখিত হয় না

ASP.NET-এ, নামের প্রথম অক্ষর হয় নয়ায়ায়া থাকা ফাইলগুলি ওয়েবের মাধ্যমে দেখা যাবে না。

আপনি যদি ব্যবহারকারীদের কনটেন্ট ব্লক বা লেআউট ফাইল দেখাতে না দেওয়া চান, তবে ফাইলটিকে পুনরায় নামকরণ করুন:

  • _header.cshtm
  • _footer.cshtml
  • _Layout.cshtml

সংবেদনশীল তথ্য সুরক্ষিত রাখা

ASP.NET-এ, সংবেদনশীল তথ্য (ডাটাবেস পাসওয়ার্ড, ইমেইল পাসওয়ার্ড ইত্যাদি) সুরক্ষিত রাখার সাধারণ পদ্ধতি হল এইসব তথ্যকে "_AppStart" নামের একটি পৃথক ফাইলে সংরক্ষণ করা।

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "username@example.com";
WebMail.Password = "your-password";
WebMail.From = "your-name-here@example.com";
}