在我的解决方案" 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?
答案 0 :(得分:0)
您可以指定在.NET MVC中发布表单的位置,如下所示:
@using (Html.BeginForm("Create", "Accounts", new object { }, FormMethod.Post, new { enctype = "multipart/form-data" })) {
<!-- Your content goes here -->
}