دلیل اجرا نشدن کدهای جی کویری در 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 قرار بگیره در ویوی اصلی!
با توجه به شرایطی که در پروژه خودتون دارید می تونید از یکی از این حالات استفاده کنید. بنظرم حالت اول بهتره ولی.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2