我使用MVC使用ASP.NET CORE。我的Area
设置名为'个人资料',其中UserController
的行为为Edit
。我不觉得我在这里开辟了新的领域。
如果我到达此网址:
/Profile/User/Edit/100
我有一个看起来像这样的观点:
<form method="post" role="form" asp-controller="User" asp-action="Edit">
为什么HTML会像这样呈现:
<form method="post" role="form" action="/Profile/User/Edit">
而不是这个(注意&#34; / 100&#34;):
<form method="post" role="form" action="/Profile/User/Edit/100">
我意识到我可以支持表格标签助手或以其他方式解决它,但看起来这应该只是工作&#39;。
这是我当前配置的路线:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=Home}/{action=Index}");
routes.MapRoute(
name: "default",
template: "{area:exists=Home}/{controller=Home}/{action=Index}/{id?}");
});
答案 0 :(得分:1)
订购路线时,请确保在具有较少段数的路线之前放置具有较大段数的路线。另外,为什么你需要上面两条相似的路线?
您可以在修改以下路线后尝试吗?
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});