[英]Area Route Problem in Netcore 3.1, invalid routing
我有地區問題
在 netcore 3.1 中,我在 startup.cs 上添加了我的端點,
app.UseEndpoints(endpoints =>
{
// endpoints.MapControllers();
//endpoints.MapControllerRoute(
// name: "default",
// pattern: "{controller}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
添加服務
services.AddControllersWithViews();//.AddNewtonsoftJson(); ;
services.AddRazorPages();
但它是這樣路由的,顯然是行不通的
controller/action?area=area
例子
Patients/Create?area=Medical
這就是我所說的方式(根據傳統目的)
<a class="btn btn-primary" href="@Url.Action("Create", "Patients", new { area = "Medicals" })">
New Patient</a>
我以經典的方式嘗試 netcore 並使用相同的路線
<a class="btn btn-primary" asp-action="Create" asp-controller="Patients" asp-area="Medicals">
New Patient</a>
我安裝了Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 3.1.9包,而不是使用剃刀的主要問題
解決辦法太蠢了,區域配置的順序很重要,所以,區域需要先設置
endpoints.MapControllerRoute(
name: "default",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.