View正在调用错误的控制器

时间:2017-05-04 07:05:55

标签: c# asp.net-core asp.net-core-mvc views

在我的解决方案" WebApp1"有两个项目" WebApp1.Web"和#34; WebApp1.Api",在每个项目中都有两个控制器" AccountsController"和" ApplicationsController" (同名)

在WebApp1.Web中有视图:

在创建应用程序视图中,它调用正确的控制器WebApp1.Web.ApplicationsController

<form asp-controller="Applications" asp-action="Create" method="post">

转换为

<form method="post" action="/Applications/Create" novalidate="novalidate" _lpchecked="1">

这是正确的行为

但是......在创建帐户视图中,它调用错误的控制器 WebApp1.Api.AccountsController

<form asp-controller="Accounts" asp-action="Create" method="post">

转换为

<form method="post" action="/api/Accounts" novalidate="novalidate" _lpchecked="1">

它不想发布到/ api / Accounts,它假设发布到/ Accounts / Create

问题

为什么视图调用了错误的控制器?它没有在同一个webapp1.web中调用web控制器?如何指定视图以使用控制器webapp1.web?

1 个答案:

答案 0 :(得分:0)

您可以指定在.NET MVC中发布表单的位置,如下所示:

@using (Html.BeginForm("Create", "Accounts", new object { }, FormMethod.Post, new { enctype = "multipart/form-data" })) {
     <!-- Your content goes here  -->
}