我使用Visual Studio 22创建了一个新的 .Net Core 项目。在我的项目中,我创建了一个新区域(它已成功创建并按预期工作)。
在创建新的脚手架项目时,会创建所有资产(控制器和视图),但是在我的视图中生成的代码不知道它们的创建区域。
例如我的结构是/Areas/Admin/Flags
我可以打得/Admin/Flags/Index
很好。
但是,所有链接和表单操作都指向/Flags/[Action]
就好像脚手架引擎不知道我在一个区域内创建这些资产。
有任何想法吗?
我使用Visual Studio 22创建了一个新的 .Net Core 项目。在我的项目中,我创建了一个新区域(它已成功创建并按预期工作)。
在创建新的脚手架项目时,会创建所有资产(控制器和视图),但是在我的视图中生成的代码不知道它们的创建区域。
例如我的结构是/Areas/Admin/Flags
我可以打得/Admin/Flags/Index
很好。
但是,所有链接和表单操作都指向/Flags/[Action]
就好像脚手架引擎不知道我在一个区域内创建这些资产。
有任何想法吗?
确保模式中的app.UseEndpoints
witharea
是/program.cs
. 我在下面添加app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});
它将自动利用路线中的区域。
另外,不要忘记复制_ViewImports.cshtml
到文件夹的根/areas/[area]/Views
目录,否则链接将无法点击。