ASP.NET Core MVC Subaction в контроллере - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть Контроллер администрирования с методом Users.И я хотел бы добавить «новый» Subaction с новым представлением к этому методу.URL-адрес должен выглядеть следующим образом: / Administration / users / new

Как я могу это сделать?

Спасибо за вашу помощь!

Ответы [ 3 ]

0 голосов
/ 31 декабря 2018

Вы можете использовать несколько методов для этого Маршруты в .net core

попробовать атрибуты

[Route("users/new")]
public IActionResult New()
{
    return View();
}
0 голосов
/ 31 декабря 2018

Полагаю, что вы имеете в виду под "Областью".

Итак, в маршрутизации Asp.Net Core 2 есть области, есть контроллеры, есть действия и необязательные параметры.

Вы можете настроить промежуточное ПО для маршрутизации примерно так.Вы можете указать атрибут области на контроллерах.

Администратором будет область - Пользователи будут контролером, а Новый будет действием.Это должно поддерживать чистоту кода, так как он просто использует промежуточное ПО маршрутизации по умолчанию.

Для лучшего понимания областей, пожалуйста, обратитесь: https://tahirnaushad.com/2017/08/25/asp-net-core-2-0-mvc-areas/

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "areaRoute",
        template: "{area:exists}/{controller=dashboard}/{action=index}/{id?}"
    );

    routes.MapRoute(
        name: "default",
        template: "{controller=home}/{action=index}/{id?}"
);
0 голосов
/ 31 декабря 2018

Это действительно просто вопрос о маршрутизации.Просто добавьте метод в контроллер администрирования и скажите MVC, что это за маршрут с атрибутом Route.Например:

public class AdministrationController : Controller
{
    public ActionResult Users()
    {
    }

    [Route("users/new")] //This is the important part here
    public ActionResult NewUser()
    {
    }
}

Вы также можете настроить маршрутизацию внутри вашего класса Startup.cs, но я считаю, что это проще сделать с помощью атрибутной маршрутизации.См. здесь для получения дополнительной информации.

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