Изоляция CSS в blazor-серверных компонентах

#blazor #blazor-server-side #blazor-component

#blazor #blazor-на стороне сервера #blazor-компонент

Вопрос:

с новым предварительным просмотром .NET 5 изоляция CSS появляется в blazor. Кто-нибудь знает, можно ли использовать изоляцию CSS в blazor server?

Я много играл, но в моем серверном приложении blazor изоляция CSS не работает. Или эта функция доступна только в blazor WebAssembly?

итак, я попробовал это:

  • создайте новый компонент blazor, например, test.razor
  • создайте CSS-файл компонента с именем test.razor.css и запишите CSS-код в этот файл
  • теперь запустите приложение blazor-server, но статический файл CSS не будет добавлен, а классы CSS не найдены.

Целевой фреймворк — «net5.0». установленная версия dotnet — «5.0.100-rc.2.20479.15».

приветствую Дэниела

Комментарии:

1. Шаблон использует его по умолчанию на стороне сервера. Например MainLayout.razor , и MainLayout.razor.css

2. я пробовал именно так, но это не работает

Ответ №1:

хорошо, я нашел проблему. В моем файле «_Host.cshtml» отсутствовала ссылка на «project.styles.css»:

 <link href="ProjectName.styles.css" rel="stylesheet" />
  

с этим все работает нормально.

Комментарии:

1. Спасибо за подсказку. Также имейте в виду, что {ProjectName} они должны совпадать Solution > Project > Properties > Package > Product . Это может отличаться от Project пространства имен.

2. Это также сработало для меня, но есть ли где-нибудь в документации, что это нужно добавить, чтобы изоляция CSS работала?

3. да, взгляните на learn.microsoft.com/en-us/aspnet/core/blazor/components /…

Ответ №2:

Если вы используете серверную часть .NET 6.0 blazor, вставьте следующую строку:

 <link href="ProjectName.styles.css" rel="stylesheet" />
  

В Pages > _Layout.cshtml файле, и он будет работать, как ожидалось.