مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

مهسا میرزائی

عضویت از 1400/04/26

مشکل در ReDirectToAction

  • شنبه 26 تیر 1400
  • 06:21
تشکر میکنم

دوستان درود و شاد باش 

خب عرض شود من یه پروژه ASPDotNetCoreMvc دارم

که یک Area به نام Admin  داره ، این  Area یک کنترلر به نام  Home داره و چندتا اکشن

حالا میخوام وقتی کاره این اکشن تموم شدش ریدایرکت بشه به اکشن Index داخل Area ادمین

 public IActionResult Test()

       {

           return RedirectToAction("Index");

      }

ولی نمیدونم چرا میره به اکشن ایندکس کنترلر روت اصلی که اتفاقا اون کنترلر هم اسمش Home هست

ینی بجای اینکه بره به این ادرس

https://localhost:44320/admin/home/Index

میره به این ادرس

https://localhost:44375//home/Index

کلا Area ادمین من رو ادم هم حساب نمیکنه خخخخ

راستی اینم استارت آپم هست

 

app.UseEndpoints(endpoints =>

           {

 

 

               

               endpoints.MapControllerRoute(

                   name: "default",

                   pattern: "{controller=Home}/{action=Index}/{id?}");

 

               endpoints.MapControllerRoute(

               name: "areas",

               pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

 

 

               endpoints.MapRazorPages();

           });

ممنون میشم راهنمایم کنید

پیشاپیش سپاس 3>

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

iran

عضویت از 1394/01/31

  • شنبه 26 تیر 1400
  • 13:13

سلام
کد زیر را بنویس

  return RedirectToAction("Index"و"Home",new{area="admin"});
کاربر سایت

مهسا میرزائی

عضویت از 1400/04/26

  • جمعه 1 مرداد 1400
  • 10:14

ممنون از پاسختون اما این جواب نبود متاسفانه

رفت به این ادرس

https://localhost:44320/admin/home/area=admin

و چیزی نشون نمیده

من توی صفحهات انگلیسی هم سرچ کردم همین پاسخ شمارو دادن و نتیجه یکسان بود

خیلی دوست دارم جواب این سوال رو پیدا کنم

کاربر سایت

iran

عضویت از 1394/01/31

  • چهارشنبه 6 مرداد 1400
  • 08:45

سلام
شما باید در startup کدتان را به شکل زیر تصحیح کنید
 


               endpoints.MapControllerRoute(

               name: "areas",

               pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

 endpoints.MapControllerRoute(

                   name: "default",

                   pattern: "{controller=Home}/{action=Index}/{id?}");

 

               endpoints.MapRazorPages();		

 

اول باید کد مربوط به area ها را بنویسید 
که شما برعکس نوشته اید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)