Вопрос:

Как вернуть пустую страницу бритвы, которая использует макет?

c# asp.net-core razor asp.net-core-mvc razor-pages

23 просмотра

2 ответа

1749 Репутация автора

Вопрос довольно простой. Я работаю над проектом страниц бритвы asp.net, который использует макет. Мне интересно, как бы я вернул пустую страницу?

Я пробовал что-то вроде

public ActionResult OnGet()
{
return null;
}

но это только возвращает пустой раздел, но он по-прежнему показывает все элементы макета.

Есть ли способ вернуть полностью пустую страницу?

Автор: mko Источник Размещён: 10.08.2019 07:51

Ответы (2)


0 плюса

132212 Репутация автора

Макет относится к View / Page, поэтому то, что вы делаете в PageModel, не имеет большого значения.

Добавьте макет страницы с нужным макетом.

например

Pages / Shared / _EmptyLayout.cshtml :

<!DOCTYPE html>
<html>
<head> 
    <title>Empty Razor Pages Sample</title>      
</head>
<body>    

   <!--No Content -->

</body>
</html>

И измените макет, который использует страница, на нужный вам макет

У бритвенных представлений есть Layoutсобственность. Отдельные виды определяют макет, устанавливая это свойство

Страницы / MyPage.cshtml

@page

@{
    Layout = "_EmptyLayout";
}

Если вы не хотите создавать пустой файл макета, вы можете явно установить для Layoutсвойства значение null

@page

@{ Layout = null; }

Так что это не наследует макет, используемый для других страниц

Схема ссылок в ASP.NET Core

Ссылка Использование макетов, частичных файлов, шаблонов и помощников по тегам со страницами Razor

Автор: Nkosi Размещён: 10.08.2019 08:10

0 плюса

70692 Репутация автора

Ну, если вы действительно хотите просто вернуть полностью пустую страницу, используйте EmptyResult.

public ActionResult OnGet()
{
    return new EmptyResult();
}

И вот хорошее прочтение на несколько более полезных ActionResult:


Если нет, то в этом посте, Как мне указать различные макеты в ASP.NET Core MVC , которые могут рассматриваться как дубликаты (основываясь на его ответах), есть некоторые обходные пути.

Автор: LGSon Размещён: 11.08.2019 08:59
Вопросы из категории :
32x32