ASP.NET Core имеет механизм View Components для повторного использования. части просмотров. Вы можете включить компонент представления в файл шаблона бритвы, используя вызов Component.InvokeAsync
:
@await Component.InvokeAsync("MyComponent", new { data = 1 })
Если компонент представления с данным именем не существует, генерируется исключение InvalidOperationException
.
InvalidOperationException: A view component named 'MyComponent' could not be found.
Я хотел бы знать, как я могу проверить, существует ли компонент представления перед рендерингом в виде бритвы. В идеале что-то вроде:
@if (Component.Exists("MyComponent")
{
@await Component.InvokeAsync("MyComponent", new { data = 1 })
}
else
{
<p>Component not found</p>
}