دلیل اجرا نشدن کدهای جی کویری در Partial View در Asp.net Core
سلام دوستان
یک پروژه در حال انجام دادن با Asp.net core هستم که در یک بخش از فرم های Modal یا همون PartialView استفاده کردم. در این پارشیال ویو میخوام یه سری کدهای جی کویری بنویسم ولی هر کاری می کنم کدهای جی کویری رو نمیشناسه و اصلا کار نمیکنه
ممکنه راهنمایی بفرمایید دلیل اجرا نشدن کدهای جی کویری در Partial View در Asp.net Core چی هست ؟
کدهای پارشیال ویو بنده در ادامه اومده :
@{
Layout = null;
}
<form asp-controller="Home" asp-action="Report">
<div class="modal-header bg-light-blue" style="border-radius:5px 5px 0 0;">
<button type="button" class="close pull-left" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title left">@ViewBag.ViewTitle</h4>
</div>
<div class="box-body">
@Html.Raw(ViewBag.message)
<div class="form-group" style="margin-top:15px;">
<div class="col-xs-12 pull-left">
<button class="btn btn-default pull-left" type="button" data-dismiss="modal">برگشت</button>
</div>
</div>
</div>
</form>
@section Scripts{
<script>
$(document).ready(function() {
alert("salam");
});
</script>
}
پاسخ هوش مصنوعی
مشکل شما احتمالاً به این دلیل است که کدهای جی کویری شما در @section Scripts قرار گرفته اند، اما این بخش به درستی در HTML نهایی رندر نمی شود. برای حل این مشکل، باید اطمینان حاصل کنید که در صفحه اصلی شما (بلوک والد)، @RenderSection("Scripts", required:false) در انتهای <body> وجود داشته باشد تا کدهای جی کویری درست بارگزاری شوند.
به عنوان مثال، ساختار کلی صفحه اصلی شما باید به شکل زیر باشد:
Your Title
@RenderSection("Scripts", required:false)
با اضافه کردن @RenderSection("Scripts", required:false) در این موقعیت، کدهای جی کویری شما به درستی اجرا خواهند شد.
کدهای شما درسته و مشکلی نداره. ولی یک نکته رو باید دقت کنید. شما وقتی که یک فرم Modal رو باز می کنید یا همون PartialView در واقع این پارشیال ویو جزیی از View اصلی هست که از درون اون باز شده. بنابراین برای نوشتن کدهای جی کوئری به دو صورت می تونید عمل کنید.
حالت اول این هست که کدهای جی کوئری رو داخل پارشیال ویو بنویسید، دقیقا مشابه کاری که شما الان انجام دادید. ولی دیگه نیازی نیست از section استفاده کنید. یعنی کدهای شما مشابه زیر میشه
@{
Layout = null;
}
<form asp-controller="Home" asp-action="Report">
<div class="modal-header bg-light-blue" style="border-radius:5px 5px 0 0;">
<button type="button" class="close pull-left" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title left">@ViewBag.ViewTitle</h4>
</div>
<div class="box-body">
@Html.Raw(ViewBag.message)
<div class="form-group" style="margin-top:15px;">
<div class="col-xs-12 pull-left">
<button class="btn btn-default pull-left" type="button" data-dismiss="modal">برگشت</button>
</div>
</div>
</div>
</form>
<script>
$(document).ready(function() {
alert("salam");
});
</script>
حالت دوم هم این هست که کدهای جی کوئری خودتون رو اصلا داخل پارشیال ویو ننویسید و درون همون View که از درون اون صدا زده شده کدهای جی کوئری رو بنویسید که در این حالت باید در داخل section قرار بگیره در ویوی اصلی!
با توجه به شرایطی که در پروژه خودتون دارید می تونید از یکی از این حالات استفاده کنید. بنظرم حالت اول بهتره ولی.
- آموزش نصب و راه اندازی دیتابیس PostgreSQL در ویندوز
- PostgreSql چیست ؟ چه کاربردهایی دارد ؟
- دسترسی به پکیج های nuget در زمان قطع نت بین الملل
- نمایش آخرین ردیف دیتاگیرید موقع لود در wpf
- مشکل اینترنت جهانی و عدم دسترسی به cdnjs.cloudflare.com
- مشکل در نصب sql server 2022
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2