• ASP.NET Core 1 – قسمت 29
ASP.NET Core 1 – قسمت 29
1395/02/07 - 12:42:38 // MVC 5 & 6 // 0 نظر // 446 بازدید

در این قسمت بنا بر این شد که در صورت امکان ، کاری کنیم که لازم نباشد برای هر View یک به یک تایین کنیم که باید از Layout پیروی کند . در MVC یک قانون برقرار است که سبب میشود View ها به دنبال فایلهای دارای اسامی Underline دار میگردند تا به عنوان Layout از آنها استفاده کنند.

بسمه تعالی

ASP.NET Core 1 قسمت بیست و نهم

در این قسمت بنا بر این شد که در صورت امکان ، کاری کنیم که لازم نباشد برای هر View یک به یک تایین کنیم که باید از Layout پیروی کند . در MVC یک قانون برقرار است که سبب میشود View ها به دنبال فایلهای دارای اسامی Underline دار میگردند تا به عنوان Layout از آنها استفاده کنند. در یک لایه قبل View ها همواره به دنبال اجرای فایل به نام _Viewstart بوده تا دستورات درون آنرا اجرا نمایند . کدهای درون Viewstart در HTML صفحات نقشی نداشته و فقط سبب حذف Duplication در تگهای HTML خواهد شد.در پروژه ما هم میتوان یکسری کدها را درون Viewstart قرار داده و پس از آن دیگر لازم نیست درون همه View ها وضعیت View را مشخص کنیم.

خوب حالا این مراحل را پیگیری خواهیم نمود.

چون دیگر قرار نیست برای هر View از طریق دستور Layout مشخص کنیم ، در قدم اول من درون Index View مشابه زیر دستور مرتبط را حذف میکنم.

خوب حالا وقت ایجاد Viewstart میباشد .روی فولدر Views یک کلیک راست کرده و Add New Item را انتخاب کنید . یک نوع فایل خاص مشابه زیر قرار دارد که باید از آن استفاده نمود.

نام فایل هم مناسب است و همین را انتخاب و ادامه میدهیم.

درون فایل باید Layout را مشخص کنیم و در نتیجه خط کد Comment شده در Index View را بردارید و به این قسمت منتقل کنید .

شاید سوال کنید چرا باید ViewStart در فولدر Views قرار گیرد و مثلن نمی توان آنرا در فولدر Home در View ها قرار داد. امکان این کار هست ، ولی در این صورت فقط برای View های موجود در فولدر Home مصرف خواهد داشت ، ولی با قرار گرفتن در فولدر Views به طور کلی ، همه View ها را در بر خواهد گرفت حتی محتوای درون Shared را نیز تحت تاثیر قرار خواهد داد.

سوال : آیا میتوان برای یک View خاص ، Layout دیگری داشت ؟. بله کافی است برای آن View مانند قبل یک Layout جداگانه تعریف و در View معرفی کنید یا مثلن برای یک فولدر در View ها مثلن Home یک ViewStart جداگانه و Layout جدا تعریف کنید . فقط در این صورت ViewStart را باید درون خود فولدر قرار دهید .

اگر بخواهید یک View را کلن بدون Layout برگزار کنید هم کافی است درون آن Layout را برار Null قرار دهید .

  1. Layout = null;  

خوب حالا به سراغ Details برویم . در آنجا هم عبارات و Tag های مشترک را حذف میکنم. و یک Title هم توسط Viewbag.title برای آن خواهم گذاشت .

حالا نوبت اصلاح Create است .

خوب حالا دیگر همه View ها از یک روند پیروی میکنند .در قسمت بعدی نوعی از View را مورد بررسی قرار میدهیم که در Core 1 به تازگی قرار داده شده و یک آیتم جدید برای بررسی خواهد بود .

 
علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
ارسال نظر