دسته بندی ها
20:55 1400/07/12

خطای InvalidOperationException: The partial view '_Modal' was not found

مشخصات سوال کننده :
کاربر : mohammadf69     امتیاز کاربر : 2     رتبه کاربر : 145
دسته بندی : جاوا اسکریپت جی کوئری Asp.net Mvc Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3079
1 نظر
mohammadf69 : جوابشو خودم پیدا کردم باید در layout اصلی که داریم کار میکنیم باید خود مدل اصلی را از طریقmodel@ صدا بزنیم وهمینطور باید درون View import هم مدل صدا زده بشه که null بر نگردونه وباعث خطا نشه برای دوستانی که این خطا براشون ایجاد شده این کار رو بکنند درست میشه یا حق

امتیاز کاربر : 2   رتبه کاربر : 145   تاریخ ثبت : 02:56 1400/07/13
هوش مصنوعی

پاسخ هوش مصنوعی

برای رفع خطای InvalidOperationException: The partial view '_Modal' was not found در ASP.NET MVC، ابتدا مطمین شوید که پاشیال ویو شما در مکان صحیحی قرار دارد. در اینجا چند نکته برای بررسی وجود دارد:

  • مطمین شوید که فایل _Modal.cshtml در دایرکتوری صحیح قرار دارد. به عنوان مثال، اگر پاشیال ویو شما در UserArea است، باید در پوشه Views مربوط به UserArea باشد.
  • اگر پاشیال ویو در یک Area مشخص (مانند Admin یا User) قرار دارد، باید از روش RenderPartial یا Partial با نام کامل استفاده کنید. به این صورت:
@Html.Partial("~/Areas/UserArea/Views/Shared/_Modal.cshtml", new BootstrapModel { ID = "modal-action", Size = BootstrapModel.ModalSize.Large })

همچنین، مطمین شوید که نام فایل به درستی نوشته شده است و حروف بزرگ و کوچک آن رعایت شده است. اسمی که در Html.Partial استفاده می کنید باید دقیقاً با نام فایل مطابق باشد.

در صورتی که می خواهید این پاشیال را در دیگر Areas هم قابل دسترس کنید، می توانید از Html.Partial به همراه Shared استفاده کنید و آن را در پوشه Shared در هر Area قرار دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 18:40 1400/07/13

البته پاسخ رو فرمودید پیدا کردید ولی برای توضیح بیشتر برای سایر کاربران شما هر PartialView و یا Class که در پروژه ایجاد کردید و خواستید در View استفاده کنید باید حتما using کنید تا در اون View شناخته بشه.

 

به عنوان مثال اگر پارشیال ویوی _model شما در userArea و در پوشه Views و Layout قرار داره باید بالای View که میخواید استفاده کنید بنویسید :

@using userArea.Views.Layout

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

به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
1 نظر
mohammadf69 : ممنون از پاسختون ابتدا من از using استفاده کردم درون view import ولی متسفانه پاسخی نگرفتم وبعد با استفاده model@ خطا از بین رفت

امتیاز کاربر : 2   رتبه کاربر : 145   تاریخ ثبت : 09:02 1400/07/14
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود