как сопоставить контроллер по умолчанию как pnet core mvc без макета по умолчанию - PullRequest
0 голосов
/ 19 марта 2020

Я создал. NET Core 3.1 AS PNET проект. По умолчанию на начальной странице используется страница Home Controller / Index.

 app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });

Но я хочу создать страницу входа, поэтому я создал новый контроллер с новым действием и передал параметр, но вместо ТОЛЬКО рендеринга страницы входа, она рендерится внутри "@RenderBody ()" из проекта макета. На. NET MVC5 он только отображал страницу, которую я установил. Я уже пробовал с:

app.UseMvc(routes =>
{
   routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
});

И это то же самое. Страница входа не отображается без макета

enter image description here

1 Ответ

1 голос
/ 19 марта 2020

Это не имеет ничего общего с маршрутизацией.

Если вы заглянете в папку «Виды», появится файл _ViewStart.cs html, содержащий следующий код:

@{
    Layout = "_Layout";
}

_ViewStart.cs html запускается для каждого представления, поэтому по умолчанию для страницы макета устанавливается значение _Layout.cs html.

. Имеется 2 варианта:

  • Удалить код из _ViewStart.cs html, то есть Layout должен быть явно установлен в каждом представлении.
  • В вашем представлении входа в систему установите Layout в null.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...