要使用ASP区域标签助手与区域路由一起工作,可以按照以下步骤进行操作:
services.AddMvc()
.AddRazorOptions(options =>
{
// 将区域视图文件夹添加到搜索路径中
options.AreaViewLocationFormats.Clear();
options.AreaViewLocationFormats.Add("/Areas/{2}/Views/{1}/{0}.cshtml");
options.AreaViewLocationFormats.Add("/Areas/{2}/Views/Shared/{0}.cshtml");
options.AreaViewLocationFormats.Add("/Views/Shared/{0}.cshtml");
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.Configure(options =>
{
// 启用区域路由
options.ConstraintMap["area"] = typeof(AreaRouteConstraint);
});
创建一个区域,并在该区域中创建Controller和View。例如,创建一个名为"Admin"的区域。
在Admin区域文件夹中创建一个AdminAreaRegistration.cs文件,并在其中注册区域路由。示例代码如下:
using Microsoft.AspNetCore.Mvc;
namespace YourAppName.Areas.Admin
{
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
name: "Admin_default",
template: "Admin/{controller=Home}/{action=Index}/{id?}");
}
}
}
using Microsoft.AspNetCore.Mvc;
namespace YourAppName.Areas.Admin.Controllers
{
[Area("Admin")]
public class AdminController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
在Admin区域文件夹中创建一个Views文件夹,并在其中创建一个Admin文件夹。在Admin文件夹中创建一个Index.cshtml文件作为控制器的视图。
在视图中使用ASP区域标签助手来生成链接。示例代码如下:
@using Microsoft.AspNetCore.Mvc.Rendering
@inject IHtmlHelper Html
Go to Admin
通过按照以上步骤操作,你就可以在ASP.NET Core应用程序中成功使用ASP区域标签助手与区域路由了。