【发布时间】:2018-09-07 03:19:54
【问题描述】:
我尝试向我的 .NET Core 项目添加一个区域,但我总是看到该错误:
RouteCreationException:创建名为“(我的区域名称)”的路线时出错
我的代码是:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "custom",
template: "{area:my area name}/{{controller=AdminHome}/{action=Index}/{id?}");
});
}
并在配置服务中添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddRouting();
//...
}
在控制器中我添加了:
[Area("My Area Name")]
public class AdminHomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
错误是:
RouteCreationException:创建名为“custom”和模板“{area:area name}/{{controller=Home}/{action=Index}/{id?}”的路由时出错。 \r\n Microsoft.AspNetCore.Routing.RouteBase..ctor(string template, string name, IInlineConstraintResolver constraintResolver, RouteValueDictionary defaults, IDictionary constraints, RouteValueDictionary dataTokens) \r\n ArgumentException: 路由模板中的参数不完整。检查每个 '{' 字符是否有匹配的 '}' 字符。 \r\n 参数名称:路由模板
【问题讨论】:
-
我看到了一些相关链接:-> docs.microsoft.com/en-us/aspnet/core/fundamentals/routing AND docs.microsoft.com/en-us/aspnet/core/mvc/controllers/areas ... 等等...
标签: c# asp.net-core asp.net-mvc-routing asp.net-mvc-areas