Исходный код вики Сценарии
Версия 3.1 от Alexandr Fokin на 2022/03/03 20:45
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | 1) | ||
2 | |||
3 | Pushing UI changes from Blazor Server to browser on server raised events | ||
4 | (Отправка изменений пользовательского интерфейса с сервера Blazor в браузер при возникновении событий сервера) | ||
5 | [[https:~~/~~/swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events>>url:https://swimburger.net/blog/dotnet/pushing-ui-changes-from-blazor-server-to-browser-on-server-raised-events]] | ||
6 | |||
7 | mikoskinen/Blazor.EventAggregator | ||
8 | [[https:~~/~~/github.com/mikoskinen/Blazor.EventAggregator>>url:https://github.com/mikoskinen/Blazor.EventAggregator]] | ||
9 | Дополнение: После просмотра исходников считаю, что | ||
10 | лучше реализовать свое решение на основе методов OnInitialized(Async) для подписки и Dispose(Async) для отписка от события | ||
11 | |||
12 | |||
13 | 2) Проблема внедрения зависимостей через конструктор | ||
14 | |||
15 | Can we talk about constructor injection now that partial classes are here? #18088 | ||
16 | [[https:~~/~~/github.com/dotnet/aspnetcore/issues/18088>>url:https://github.com/dotnet/aspnetcore/issues/18088]] | ||
17 | |||
18 | Возможное решение - собственная реализация IComponentActivator | ||
19 | |||
20 | Blazor: Implement IComponentActivator to get components from DI | ||
21 | [[https:~~/~~/github.com/abpframework/abp/issues/5527>>url:https://github.com/abpframework/abp/issues/5527]] | ||
22 | |||
23 | [[https:~~/~~/github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/DependencyInjection/ServiceProviderComponentActivator.cs>>url:https://github.com/abpframework/abp/blob/48c52625f4c4df007f04d5ac6368b07411aa7521/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/DependencyInjection/ServiceProviderComponentActivator.cs]] | ||
24 | |||
25 | !Некоторые компоненты могут не работать при использовании самодельного внедрения. Поэтому для них приходится использовать атрибут Inject. | ||
26 | |||
27 | |||
28 | 3) Открыть новую вкладку | ||
29 | How can I open a new window | ||
30 | [[https:~~/~~/stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js>>url:https://stackoverflow.com/questions/62769031/how-can-i-open-a-new-window-without-using-js]] | ||
31 | |||
32 | |||
33 | 4) Работа с файлами | ||
34 | |||
35 | Загрузка файлов: | ||
36 | |||
37 | Отправка файлов в ASP.NET Core Blazor | ||
38 | [[https:~~/~~/docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly>>url:https://docs.microsoft.com/ru-ru/aspnet/core/blazor/file-uploads?view=aspnetcore-5.0&pivots=webassembly]] | ||
39 | |||
40 | Для Net.Core 3.1 | ||
41 | SteveSandersonMS/BlazorInputFile (Archived) | ||
42 | [[https:~~/~~/github.com/SteveSandersonMS/BlazorInputFile>>url:https://github.com/SteveSandersonMS/BlazorInputFile]] | ||
43 | |||
44 | Скачивание файла: | ||
45 | Для скачивания файла можно сделать endpoint - api controller и кнопку, которая перенаправляет на него. | ||
46 | Можно использовать NavigationManager. | ||
47 | |||
48 | |||
49 | 5) Оптимизация рендеринга строк (RowId) | ||
50 | |||
51 | Optimising using @key | ||
52 | https://blazor-university.com/components/render-trees/optimising-using-key | ||
53 | |||
54 | |||
55 | 6) Динамические отрисовка компонентов (динамическое выбор типа компонента) | ||
56 | |||
57 | How to Dynamically Render a Component in a Blazor Application | ||
58 | https://www.syncfusion.com/blogs/post/how-to-dynamically-render-a-component-in-a-blazor-application.aspx | ||
59 | |||
60 | Blazor - Как динамически создавать компоненты | ||
61 | https://question-it.com/questions/789772/blazor-kak-dinamicheski-sozdavat-komponenty |