问题!使用区域逻辑处理来自不同项目的应用程序部分.未找到视图



在Asp.net Core 5中,我所在的领域是不同项目中的相同解决方案。我导入了带有应用程序部分的dll,但是。当我转到该区域中的索引页时,它找不到视图。它属于控件中的操作,但找不到视图。我能为解决方案做些什么?

在此处输入图像描述

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

[Area("Test")]
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult Privacy()
{
return View();
}
public IActionResult Testtt()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}

我以前也遇到过这个错误。当我将MapAreaControllerRoute定义交换到顶部时,我可以访问我的区域。

添加区域路由

区域路线通常使用传统路线,而不是属性路由。常规路由依赖于订单。一般来说,路线with区域应该放在路由表中较早的位置,因为它们更多比没有区域的路线更具体。

如果url空间为所有区域统一:

这来自文档->https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/areas?view=aspnetcore-6.0

因此,您应该在默认路由之前添加您的区域路由。

最新更新