دسته بندی ها
17:40 1398/08/19

نمایش PartialView یا فرم popup در Asp.net core 3

مشخصات سوال کننده :
کاربر : hamdola     امتیاز کاربر : 121     رتبه کاربر : 12
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4402
هوش مصنوعی

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

برای استفاده از پارشیال ویو در ASP.NET Core 3 بدون نمایش خطا، می توانید از متد await هنگام فراخوانی PartialAsync استفاده کنید. زیرا این متد به صورت غیر همزمان کار می کند و باید در متدهای نامتقارن فراخوانی شود. بنابراین، کد شما به شکل زیر تغییر خواهد کرد:

@await Html.PartialAsync("_navibar")

این تغییر باعث می شود که محتوای پارشیال ویو به درستی بارگذاری شده و خطاهای مربوط به نوع برطرف شوند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : mobile_app 18:23 1398/08/19

دلیل این خطا به خاطر این هست که شما از Async استفاده کردید.

بهتره که برای فراخوانی و نمایش پارشیال ویو از دستور زیر استفاده کنید

 

@Html.Partial("_navibar");

 

البته یک راه حل بهتر دیگه هم این هست که از تگ Partial استفاده کنید چون هم با کدهای Html شما سازگاری بهتری داره و هم مشکلات Async رو نداره

 

<partial name="_navibar" />

 

موفق باشید

به این پاسخ امتیاز بدهید    2
امتیاز: 18 رتبه: 40
پاسخ دهنده : mghb 00:03 1398/08/20

سلام

شما برای همه پارشیال ویوها البته فکر کنم از نسخه 2.1 به اینور در داخل ویو ها و همینطور ویوی اصلی خودتان از دستور زیر استفاده کنید مشکل شما برطرف میشه :

@{await Html.RenderPartialAsync("_navibar"); }

دقت کنید که هنگامی که از این دستور استفاده میکنید دستور شما داخل بلاک های Razor نباشد در غیر اینصورت نیازی به علامت های @{} هم نیست و مشکل پیامی که گفتید برطرف خواهد شد

ویرایش شده در دوشنبه 20 آبان 1398 ساعت 00:12:42
به این پاسخ امتیاز بدهید    2
امتیاز: 27 رتبه: 26
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود