• 1398/11/07

Route در Asp.net Core 3.1 :

سلام خسته نباشید 
وقتی من در استارت آپ این کد رو برای area گذاشتم چرا باید برای هر کنترلر باید [Route("Admin/[controller]/[action]")] مشخص کنم و اینکه وقتی مثلا صدا بزنم Admin/Roles پیدا نمی کنه حتما باید بزنم Admin/Roles/Index 

 app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");


            });
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapAreaControllerRoute(
   name: "areas", "areas",
   pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

            });


البته همین مسائل در کور 2 مشکلی نداشت و اوکی بود ولی داخل کور 3 اینجوری شده ؛ مشکل از endpoint های منه ؟

  • 1398/11/07
  • ساعت 11:16

سلام

در حالت عادی مشکلی نداره 

من دارم استفاده میکنم 

ویژوال را آپدیت کنید


  • 1398/11/07
  • ساعت 11:56

اخرین نسخه به تازگی آپدیت کردم الان یه پروژه 3.1 ایجاد کردم که همین مشکل رو داره 
/Admin/Home رو تشخیص نمیده باید حتما بزنم /Admin/Home/Index 
این startup
 

  public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationDbContext>();
            services.AddControllersWithViews();
            services.AddRazorPages();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");

                endpoints.MapRazorPages();
                endpoints.MapAreaControllerRoute(
  name: "areas", "areas",
  pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
            });

Controller

 

 [Area("Admin")]

    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
}

 


  • 1398/11/07
  • ساعت 12:12

اجازه بدید تست کنم اگر برای منم مشکل داشت رفع و اطلاع میدم




  • 1398/11/08
  • ساعت 08:49

استاد قبلا این لینک رو سراغش رفته بودم و بررسی کردم مشکل اینه که اینجا از endpoint ها استفاده نمی کنه از app.UseMvc استفاده می کنه با اینکه زده 3.1  core 
استاد لطفا یه پروژه لینک کردم رو ببینید ، ممنون 
پروژه تستی


  • 1398/11/08
  • ساعت 08:57

وقت کنم بررسی میکنم