سلام دوستان یک پارشیال ویو دارم که کدهاش رو به صورت زیر نوشتم. در نمایش این PartialView مشکلی ندارم.
کدهای Controller :
[HttpGet]
public IActionResult myPartial(int ID)
{
if (ID == 0)
{
Return RedirectToAction("Error","Home");
}
ViewBag.ID = ID;
return PartialView("_Follow");
}
کدهای cshtml :
<a asp-controller="ControllrtName" asp-action="myPartial" asp-route-ID="@item.ID" data-toggle="modal" data-target="#modal-action">
نمایش
</a>
خب برای نمایش PartialView مشکلی وجود نداره. اما توی Action شرط گذاشتم که اگر ID برابر با 0 بود بره به Controller با نام Home و اکشن با نام Error رو نمایش بده. ضمنا آدرس "Home/Error" در هیچ Area نیست اما اکشن متد myPartial در یک area هست.
حالا سوال این هست چجوری وقتی خطایی به وجود اومد صفحه خطا رو نمایش بدم؟ چون ظاهرا وقتی یک پارشیال ویو رو صدا میزنیم نمیشه دیگه یک ویو رو نمایش داد
سلام و درود
ببینید شما وقتی یک 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 رو نمایش میدیم. در مجموع برای کنترل خطا حین اجرای پارشیال شاید بهتر باشه یک پارشیال ویو برگشت داده بشه.
البته خب راههای دیگه ای هم هست که می تونید این لینک رو مطالعه کنید.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
76
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
429
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4798
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
214
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
396
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
567
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2011
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
76
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1033
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
429
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4798
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1160
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
597
- پاسخ :
1
|