خطا هنگام submit شدن فرم موقع استفاده از asp-area
سلام دوستان
یک پروژه با Asp.net core 3 دارم. در این پروژه یک Area به نام AdminPanel دارم و در فایل startup.cs هم Route مربوط رو به شکل زیر تعریف کردم
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
//For Area
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapAreaControllerRoute(
"AdminPanel",
"AdminPanel",
"AdminPanel/{controller=AdminHome}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
"default", "{controller=Home}/{action=Index}/{id?}");
});
یک فرم هم دارم که در این Area قرار داره. اطلاعات فرم هم به صورت زیر هست
<form asp-area="AdminPanel" asp-controller="UserManagement" asp-action="Active" method="post">
</form>
اما موقعی که در این فرم روی دکمه submit کلیک می کنم به اکشن مربوطه یعنی اکشن Active که در کنترلر UserManagement و در Area به نام AdminPanel هست نمیره و خطای زیر رو میده
همونجوری که توی عکس مشخص هست اصلا توی Url مرورگر Area رو نمیاره و به سمت اکشن مربوط Post نمیشه اطلاعات.
ممکنه بفرمایید اشکال از چی میتونه باشه ؟
شما همه چیز رو درست نوشتید اما جای تعجب !!! اینجاست که در متد configure از کلاس startup.cs چرا مسیر رو 2 بار تعریف کردید ؟
app.UseRouting();
//For Area
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapAreaControllerRoute(
"AdminPanel",
"AdminPanel",
"AdminPanel/{controller=AdminHome}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
"default", "{controller=Home}/{action=Index}/{id?}");
});
مسیر بالا رو تعریف کنید. چون در مسیر بالا هم Area تعریف شده و هم مسیریابی عادی یا همون بخش default
دقت کنید که در Asp.net core 3 در سیستم مسیریابی یا routing تغییراتی صورت گرفته که برای کسب اطلاعات بیشتر می تونید به این لینک مراجعه کنید
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2