Действие формы Razor Page для контроллера в ядре asp.net 2.2 - PullRequest
0 голосов
/ 26 сентября 2019

Я относительно новичок на страницах Razor и у меня есть вопрос о публикации в обработчик действий контроллера из формы на странице Razor.(Это в разделе загрузки файлов, но я думаю, что у меня больше проблем с маршрутом, чем с загрузкой файлов ...?)

У меня есть что-то вроде:

<form action="/UploadTheFile/Upload" ... method="post">...</form>

И яесть класс контроллера (созданный с помощью Visual Studio с добавлением нового контроллера), который выглядит примерно так:

    ...
namespace Controllers
{
   public class UploadTheFileController : Controller
   {
      [HttpPost]
      public async Task<IActionResult> Upload(IFormFile file)
      {
         ...
      }
   }
}

Когда форма отправляется (используя fiddler, я вижу сообщение), я получаю ошибку 404 not found.

Что я делаю не так?Как мне сообщить Razor / asp.net-core-2.1 маршрут?

Спасибо, Оуэн

1 Ответ

0 голосов
/ 26 сентября 2019

После еще одного поиска в Google (и поиска документа Microsoft, который действительно помог: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-3.0),, решение состоит в том, чтобы изменить одну строку в файле Startup.cs с:

app.UseMvc();

на:

app.UseMvcWithDefaultRoute();

Теперь маршрутизация работает, и моя задача «Выгрузка» вызывается из формы post!

- Owen

...