دسته بندی ها
22:01 1399/05/17

نمایش صفحه Error هنگام خطا در PartialView

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

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2231
1 نظر
mohammad-i : دقیقا به چه اروری بر میخورید؟ من فکر میکنم با Not found مواجه میشید. توی کنترلر home در همون area یک ویو Error بسازید و امتحان کنید.

امتیاز کاربر : 260   رتبه کاربر : 7   تاریخ ثبت : 11:20 1399/05/18
پاسخ دهنده : saedbfd 13:15 1399/05/18

سلام و درود

ببینید شما وقتی یک Partial View رو return می کنید در واقع نوع درخواست شما از نوع یک Partial View هست و دیگه نمیتونید یک View برگردونید. بنظرم بهتره برای هدایت کاربر در صورت بروز خطا حین اجرای یک Partial View مثل خودش یک پارشیال ویو رو برگردونید.

 

یعنی کدهای شما به این صورت میشه :

 [HttpGet]
    public IActionResult myPartial(int ID)
    {    
       if (ID == 0)
       {
          Return Redirect("~/Home/PartialError");
       }

        ViewBag.ID = ID;
        return PartialView("_Follow");
     }

 

دقت کنید که در کدهای بالا به جای استفاده از متد RedirectToAction از Redirect استفاده شده چون شما گفتید صفحه خطا در یک Area جداگانه هست. حالا می تونید توی کنترلر Home یک اکشن متد ایجاد کنید به نام PartialError و پارشیال ویو برای نمایش خطا رو صدا بزنید

 

[HttpGet]
public IActionResult PartialError()
{
   return PartialView("_PartialError");
}

 

خب همونطوری که میبینید یک پارشیال ویو به نام _PartialError رو نمایش میدیم. در مجموع برای کنترل خطا حین اجرای پارشیال شاید بهتر باشه یک پارشیال ویو برگشت داده بشه.

البته خب راههای دیگه ای هم هست که می تونید این لینک رو مطالعه کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود