Asp Core 2 MVC не уважает шаблон или шаблон или маршрут - PullRequest
0 голосов
/ 11 мая 2018

У меня есть маршрут, по которому я хочу выполнить действие контроллера, только если все параметры указаны в URL. Но когда я иду на URL без параметров, он показывает страницу действий. Он должен автоматически вернуть код ошибки 404.

Я знаю, что по умолчанию это проблема. Но я не знаю, как это исправить, не выполнив if(param == null) return NotFound();

Вот мой маршрут:

app.UseMvc(routes =>
{
    routes.MapRoute(
        "Home_AddVoucher",
        "{controller}/{action}/{id:int}/{price:decimal}/{from:regex(^\\d\\d-\\d{{2}}-\\d{{4}}$)}/{to}/{passengers:range(1, 9)}",
        new { controller = "Home", action = "AddVoucher" }
        );

    routes.MapRoute(
        "Home_getPrice",
        "{controller}/{action}/{productId}",
        new { controller = "Home", action = "getPrice" }
        );

    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}");


});

Я хочу, чтобы все параметры маршрута AddVoucher были предоставлены для вызова действия контроллера.

Действие контроллера:

public async Task<IActionResult> AddVoucher(int id, double price, DateTime from, string to, int passengers)
{
    AddVaucherModel addVaucherModel = new AddVaucherModel();


    return View(addVaucherModel);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...