0

我使用Visual Studio 22创建了一个新的 .Net Core 项目。在我的项目中,我创建了一个新区域(它已成功创建并按预期工作)。

在创建新的脚手架项目时,会创建所有资产(控制器和视图),但是在我的视图中生成的代码不知道它们的创建区域。

例如我的结构是/Areas/Admin/Flags

我可以打得/Admin/Flags/Index很好。

但是,所有链接和表单操作都指向/Flags/[Action]

就好像脚手架引擎不知道我在一个区域内创建这些资产。

有任何想法吗?

4

1 回答 1

0

确保模式中的app.UseEndpointswitharea/program.cs. 我在下面添加app.UseAuthorization();

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

它将自动利用路线中的区域。

另外,不要忘记复制_ViewImports.cshtml到文件夹的根/areas/[area]/Views目录,否则链接将无法点击。

于 2022-02-18T00:41:18.273 回答