در آموزش تبدیل قالب Html به Layout در asp.net core قصد داریم تا یک قالب Html را به یک Layout در Asp.Net Core تبدیل کنیم. تبدیل یک قالب HTML به یک Layout در ASP.NET Core فرایندی شامل چندین مرحله است که در نهایت به شما کمک میکند تا از قالبهای HTML آماده در پروژههای خود استفاده کنید و قابلیتهای Razor Pages را با آن ترکیب کنید. که شامل مراحل زیر است.
قالب HTML خود را به پروژه اضافه کنید. به طور معمول، این قالب شامل فایلهای CSS، JavaScript، و تصاویر است. تمام فایلهای استاتیک (مانند CSS، JS و تصاویر) را در پوشه wwwroot قرار دهید. در صورتی که فایل های تکراری وجود دارد آنها را حذف کنید. مثلا در قالب ما فایل های بوت استرپ استفاده شده. و این فایل ها در خود پروژه نیز وجود دارد پس یکی را حذف میکنیم.
فایل Layout یک فایل Razor است که ساختار اصلی صفحات شما را تعریف میکند. این فایل معمولاً در مسیر Views/Shared/_Layout.cshtml قرار دارد. میتوانید فایل _Layout.cshtml را ویرایش کنید و قالب جدید خود را در آن بسازید ولی پیشنهاد میکنم یک Layout جدید مانند تصویر زیر بسازید. نام Layout خود را در این مثال _TehranitContent قرار دادیم. قالب ما حد اقل به سه Layout نیاز دازد. کد های خود را در این فایل کپی کنید.
در قالب ها تعداد زیادی فایل Css و Js وجود دارد نیاز است آدرس های آنها را اصلاح کنید. ابتدا از مسیر آن مطمئن شوید که درست است. در قدم بعدی به اول آدرس ها مقدار ~ را وارد کنید. این کاراکتر آدرس روت را مشخص میکند.
در برخی از صفحات یا Layout ها نیاز است که به فایل های Css و Js خود فایل های جدیدی اضافه کنیم. در این مواقع از قابلیت Section استفاده میکنیم. هنگام طراحی Layout حتما دو Section برای فایل های css و js باید ایجاد کنید. و در نام گزاری مانند زیر عمل کنید.
@await RenderSectionAsync("Styles", required: false)
@await RenderSectionAsync("Scripts", required: false)
هر کدام از ویو هایی که ایجاد میکنیم در اصل از Layout ما ارث بری میکنند. هر کدام از این ویو ها نیاز به بخش هایی دارند که متعلق به خودشان است ولی در RenderBody نیستند. مثل تگ Title که در هدر هر صفحه وجود دارد. و باید متناسب با همان صفحه ایجاد شود. در این مواقع میتوانیم از ViewBag استفاده کنیم.
<title>@ViewBag.Title - TehranITCoreDash</title>
برای قسمتهایی از قالب که در چندین صفحه تکرار میشوند (مثل هدر، فوتر، یا منوها) میتوانید از Partial Viewها استفاده کنید. توجه در Partial View ها نمیتوانید از قابلیت Section استفاده کنید. به عنوان مثال در قالب Html خود نیاز به پارشیال های زیر داریم.
RenderBody را جای مناسب آن قرار دهید. وظیفه RenderBody این است که، محتوای ویو را در بخشی که RenderBody قرار گرفته جایگذاری کند. توجه داشته باشید که جایگذاری هیچ ورودی و خروجی دریافت نمیکند.
اطمینان حاصل کنید که فایل _ViewStart.cshtml به درستی به Layout شما اشاره میکند. این فایل معمولاً در پوشه Views قرار دارد.
ابتدا باید ابزارهای مورد نیاز برای Scaffolding را نصب کنید. برای این کار از منوی Project گزینه Manage NuGet packages را انتخاب کنید. و ابزار و پکیج های مورد نیاز را نصب کنید.
dotnet-aspnet-codegenerator
Microsoft.VisualStudio.Web.CodeGeneration.Design
Scaffolding از یک سری قالب پیشفرض برای ایجاد تم ها استفاده میکند. این قالبهای پیشفرض در دایرکتوری ابزار Scaffolding قرار دارند. شما میتوانید این قالبها را کپی کرده و در پروژه خود سفارشی کنید. مسیر قالبهای پیشفرض معمولاً به شکل زیر است:
C:\Users\[YourUsername]\.nuget\packages\microsoft.visualstudio.web.codegenerators.mvc\[Version]\Templates
در مسیر روت پروژه خود یک فولدر به نام Templates ایجاد کنید. و قالبهای مورد نظر را در آن کپی کنید. و فولدرهای زیر را در آن کپی کنید.
[
{
"inputFiles": [
"wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css",
"wwwroot/assets/fonts/bootstrap-icons-1.11.3/font/bootstrap-icons.min.css",
"wwwroot/assets/fonts/vazir/Font-Vazir.css",
"wwwroot/assets/css/TehranIt.css"
],
"outputFileName": "wwwroot/Bundel/site.min.css",
"minify": {
"enabled": true,
"adjustRelativePaths": true,
"commentMode": "none",
"gzip": true
}
},
{
"inputFiles": [
"wwwroot/lib/jquery/dist/jquery.min.js",
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
"wwwroot/assets/lib/Loader-Preloader-Plugin-jQuery-Preloadinator/dist/js/jquery.preloadinator.min.js",
"wwwroot/assets/js/TehranIT.js"
],
"outputFileName": "wwwroot/Bundel/site.min.js",
"minify": {
"enabled": true,
"adjustRelativePaths": true,
"commentMode": "none",
"gzip": true
}
}
]
ورژن ۱٫۱ قالب TehranITCoreDash منتشر شد. رفع برخی ایرادات.
ورژن ۱٫۲ قالب TehranITCoreDash منتشر شد. رفع برخی ایرادات. افزوده شدن صفحه خطا و نمایش ارورها. بهینه شده برای استفاده از سرویس ها. هماهنگ شده با Dot Net 9 و codegeneration.design 9.
توجه : هر دو فایل دانلودی “رایگان و غیر رایگان” یکسان میباشند.
توجه : در صورتی که قبلا این قالب را خریداری کرده اید. نیازی به خرید مجدد نیست. از قسمت دانلود رایگان آن را دانلود فرمایید.
خرید از تهران آی تی به صورت آنلاین بوده لینک دانلود به صورت خودکار برای شما ایمیل میشود بدیهی است که در هنگام خرید باید از ایمیل واقعی خود استفاده کنید. چنانچه نیاز به هرگونه سوال درباره محصول و یا مشاوره و کمک در خرید آنلاین داشتید از طریق ایمیل و یا شماره های تماس ارتباط برقرار کنید 09121486770 ahadian2@gmail.com
با سلام, آموزش ها واقعا عااااالی هستند ممنون از زحماتتون