آموزش ASP.NET-مفهوم Layout
با استفاده از WebPage، خلق وبسایت با طرحی ثابت، راحت است.
نمای ثابت
در اینترنت، وبسایت های زیادی را با نمای ثابت می توانید پیدا کنید:
- صفحات، header مشابهی دارند.
- صفحات، footer مشابهی دارند.
- صفحات، از استایل و قالب مشابهی پیروی می کنند.
با استفاده از WebPage، ایجاد نمای ثابت می تواند به صورت موثر انجام شود. بلوک های محتوا(content block)، مانند header و footer، می توانند به صورت فایل های مجزا باشند تا بتوان آن ها را در سایر صفحات استفاده کرد.
شما می توانید به علاوه یک طرح پایدار را برای تمام صفحات خود، با استفاده از طرح قالب تعریف کنید.
بلوک های محتوا
اکثر وب سایت ها شامل محتوایی هستند که در تمام صفحات نمایش داده می شود (مانند header و footer).
در WebPageها، می توانید با استفاده از متد (RenderPage@) محتوایی را از فایل های مجزا وارد صفحات نمایید.
بلوک محتوا (از فایل دیگر) می تواند در هر جای صفحه وب وارد شود، و می تواند همانند هر صفحه وب معمول حاوی متن، کد و ... باشد.
با استفاده از header و footer به عنوان مثال، در کارهایی که شما باید انجام دهید صرفه جویی می شود. شما مجبور نیستید به ازای هر صفحه محتوای مشابه را یک بار بنویسید، و مهمتر اینکه هنگام تغییر فایل های header و footer، محتوا در تمام صفحات به روز می شود.
تکه کد زیر چگونگی استفاده از RenderPage را نمایش می دهد.
مثال (آموزش ASP.NET-مفهوم Layout)
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>
خروجی کد بالا:
This is a header from a separate file
Hello Web Pages
This is a paragraph
This is a footer from a separate file
استفاده از صفحه Layout
در قسمت قبل، ملاحظه فرمودید که استفاده از محتوای مشابه در صفحات کار ساده ای است.
رهیافت دیگری که برای ایجاد نمای ثابت می تواند به کار گرفته شود استفاده از صفحه layout است. صفحه layout شامل ساختار، و نه محتوای WebPage است. هنگامی که یک صفحه وب (صفحه محتوا) به صفحه layout لینک می شود، بر اساس صفحه layout (قالب) نمایش داده می شود.
صفحه layout نیز مانند یک صفحه وب معمولی است، با یک تفاوت جزیی. و آن تفاوت، فراخوانی متد ()RenderBody@ می باشد که در آن صفحه محتوا قرار می گیرد.
هر صفحه محتوا باید با یک Layout directive شروع شود.
تکه کد زیر آن چه را شرح دادیم نمایش می دهد.
صفحه Layout:
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2013 Beyamooz. All rights reserved.</p>
</body>
</html>
سایر صفحات:
<h1>Welcome to Beyamooz</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>
خروجی کد بالا:
This is header text
Welcome to Beyamooz
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat. Duis aute irure dolor inreprehenderit in voluptate velit esse cillum dolore eu fugiat nullapariatur. Excepteur sint occaecat cupidatat non proident, sunt inculpa qui officia deserunt mollit anim id est laborum.
© 2013 Beyamooz. All rights reserved.
D.R.Y. - Don't Repeat Yourself
با استفاده از دو ابزار ASP.NET، یکی بلوک محتوا و دیگری صفحات Layout، می توانید به برنامه های کاربردی وب، نمای ثابت بدهید.
این ابزارها همچنین کار شما را کمتر می کند، زیرا شما نیاز ندارید تا اطلاعات مشابه را در صفحات خود تکرار کنید. متمرکز ساختن نشانه گذاری ها، استایل و کد، مدیریت و نگهداری برنامه های کاربردی وب را سهل الوصول می کند.
ممانعت از اینکه فایل ها مشاهده شوند
با استفاده از ASP.NET، فایلهایی که نام آن ها با یک (_) (زیر خط) آغاز می شوند، در وب مرور نمی شوند اگر نمی خواهید بلوک محتوایتان یا فایل های layout شما توسط کاربران مشاهده گردد، فایل ها را مانند زیر نامگذاری کنید:
header.cshtm_
footer.cshtml_
Layout.cshtml_
مخفی کردن اطلاعات حساس
در ASP.NET، روش معمول برای مخفی کردن اطلاعات حساس (مانند رمز های عبور پایگاه داده، رمزهای پست الکترونیکی و غیره) نگهداری این اطلاعات در فایل مجزایی با نام AppStart_ است.
_AppStart.cshtml
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید";
WebMail.Password = "your-password";
WebMail.From = "این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید";
}
- نوشته شده توسط مظاهر نصوحی
- بازدید: 15320