چیدمان (WebPages Layout)
در Web Pages ساخت «چیدمان Web Pages» ساده است. «چیدمان (Layout)» یعنی قالب ثابت صفحه. سرِ هر صفحه، بدنه، و پابرگ همیشه یکسان می ماند. سپس فقط محتوا عوض می شود. این کار مثل قالب دفتر مشق است؛ جلد و خط ها ثابت اند، متن هر بار فرق دارد.
ظاهر یکنواخت در همه صفحات
با Web Pages می توانی سرصفحه و پابرگ مشترک داشته باشی. بنابراین هر صفحه یک هدر و فوتر یکسان دارد. سپس استایل و چیدمان نیز هماهنگ می ماند. این روش نگهداری را ساده تر می کند و وقت زیادی ذخیره می کند.
بلوک های محتوا (Content Blocks)
می توانی قطعات مشترک را در فایل جدا بگذاری. سپس با @RenderPage() آن را وارد صفحه کنی. این قطعه می تواند متن، HTML، یا کد سرور باشد.
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
صفحه چیدمان (Layout Page)
راه دیگر، ساخت یک «صفحه چیدمان» است. این صفحه اسکلت را دارد و محتوا را با @RenderBody() می گیرد. سپس هر «صفحه محتوا» در ابتدای خود «دستور Layout» می گذارد.
<!-- Layout Page -->
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2014 W3Schools. All rights reserved.</p>
</body>
</html>
<!-- Content Page -->
@{ Layout = "Layout.cshtml"; }
<h1>Welcome to W3Schools</h1>
<p>Lorem ipsum dolor sit amet...</p>
اصل D.R.Y؛ خودت را تکرار نکن
با «بلوک های محتوا» و «صفحه چیدمان» دیگر کپیِ تکراری نمی کنی. بنابراین تغییرات فقط در یک جا انجام می شوند. سپس همه صفحات به روز می شوند. این یعنی مدیریت آسان تر و خطای کمتر.
جلوگیری از مشاهده مستقیم فایل ها
فایل هایی که با زیرخط شروع می شوند، از وب دیده نمی شوند. بنابراین برای پنهان کردن فایل ها، نام ها را این گونه بگذار:
- _header.cshtml
- _footer.cshtml
- _Layout.cshtml
_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";
}
نکته: برای جزئیات Razor به بخش Razor برو. برای ساخت پوشه ها و سازمان دهی بعدی، بخش Folders را ببین. همچنین برای دسترسی سریع، چیدمان Web Pages را نشانک کن.
جمع بندی سریع
- @RenderPage برای قطعات مشترک است.
- @RenderBody محتوا را در قالب می نشاند.
- با زیرخط از مشاهده فایل جلوگیری کن.
- اطلاعات حساس را در _AppStart بگذار.