Form Tag Helper如何确定呈现的表单操作?

时间:2016-07-18 02:46:46

标签: asp.net-core asp.net-core-mvc .net-core

我使用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?}");
        });

1 个答案:

答案 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?}");
    });