PDA

View Full Version : @RenderSection("PanelScripts", false)



hamzehsh
چهارشنبه 15 خرداد 1398, 00:50 صبح
سلام
من یک پنل مدیریتی خیلی معمولی درست کردم که هیچ خاصی هم توش نیست


وقتی که میخوام به کنترلر دسترسی داشته باشم این خطا رو بهم نمایش میده


An unhandled exception occurred while processing the request.
InvalidOperationException: The following sections have been defined but have not been rendered by the page at '/Views/Shared/_AdminLayout.cshtml': 'PanelScripts'. To ignore an unrendered section call IgnoreSection("sectionName").
Microsoft.AspNetCore.Mvc.Razor.RazorPage.EnsureRen deredBodyOrSections()


منم رفتم این گزینه رو اضافه کردم مشکل حل شد


@RenderSection("PanelScripts", false)


ولی نمیدونم این خطایی که میده چیه و تا حالا این خطا رو ندیدم


کلا این Panelscript چی هست. توی جستجو هم به نتیجه خاصی نرسیدم

davidrobert
چهارشنبه 15 خرداد 1398, 13:32 عصر
اگه از Razor Pages استفاده میکنید Razor Page فقط به یک RenderSection اجازه کار میده این لینک مشاهده کنید کامل تمام دستورات توضیح داده نتونستید وارد بشید با ف ی ل ت ر ش ک ن وارد بشید.
https://www.learnrazorpages.com/

hakim22
شنبه 18 خرداد 1398, 01:53 صبح
این مشکل ارتباطی با Razor Page و توضیحات دوستمون آقای David نداره.

در Layout همیشه می تونید بخشهایی از صفحه رو با RenderSection تعریف کنید. این بخشها بعدا توسط View نهایی پر میشه. در واقع شما در Layout جای خالی باز می کنید. معمولا از این روش برای استفاده کردن css یا script کاستوم در ویوی اصلی استفاده میشه. با استفاده از Section دیگه مجبور نیستید همه ی css و js هارو در Layout مسیر دهی کنید. البته کاربردهای دیگه ای هم داره.

وقتی یک RenderSection تعریف می کنید باید یک عنوان براش مشخص کنید و در ادامه هم یک true یا false دارید. گزینه ی true میگه در ویو حتما باید سکشن مربوطه تعریف بشه و گزینه ی false میگه نیاز نیست حتما چنین بخشی وجود داشته باشه.