Как проверить, является ли контекст контроллера дочерним действием в ASP.NET Core MVC? - PullRequest
0 голосов
/ 21 декабря 2018

Я использую .NET Core MVC, чтобы запретить пользователям переходить к действию, вручную вводя URL в их браузер.

В предыдущих версиях MVC следующий фрагмент кода помог бы:

public ActionResult Index()
{
    if(!ControllerContext.IsChildAction)
    {
        // redirect to different action
    }
    return View(viewModel);
}

Источник (также похожий вопрос)

Как я могсделать это с помощью .NET Core MVC?

Ответы [ 2 ]

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

Дочерние действия не существуют в ASP.NET Core MVC, как упоминалось в предыдущем ответе.Функция просмотра компонентов аналогична дочерним действиям.Указано как «очень мощное» в официальной документации .

Просмотр Компоненты недоступны непосредственно из браузера.В соответствии с этим вам не нужно контролировать запрос, исходящий из URL или нет.

Виды создания классов компонентов:

1) Создание с добавлением суффикса ViewComponent ккласс:

public class SampleViewComponent
{
    ...
}

2) Создание с производным от ViewComponent:

public class Sample : ViewComponent
{
    ...
}

3) Создание с атрибутом ViewComponent

[ViewComponent]
public class Sample
{
    ...
}
0 голосов
/ 21 декабря 2018

Прощай, дочерние действия, компоненты Hello View :

дочерние действия не существуют в ASP.NET Core MVC.Вместо этого мы рекомендуем использовать новую функцию просмотра компонентов для поддержки этого варианта использования.

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