Параметры каскадирования Blazor в .net8 ⇐ C#
Параметры каскадирования Blazor в .net8
В предыдущей версии Blazor в .NET 7, когда я менял каскадный параметр (например, из средства выбора даты), запускалась функция OnParameterSet. В версии .NET 8 эта функция не запускается (после обновления до новой версии с той же логикой).
Есть ли шанс получить такое же действие в новой версии блазора?
Program.cs
с использованием CsPropTester; использование CsPropTester.Components; вар строитель = WebApplication.CreateBuilder(args); builder.Services.AddCascadingValue("CascadingProps", sp => new CascadingProps { RowId = 0, SysDate = DateTime.Today }); // Добавляем сервисы в контейнер. builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); вар приложение = builder.Build(); // Настраиваем конвейер HTTP-запросов. если (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); // Значение HSTS по умолчанию — 30 дней. Возможно, вы захотите изменить это для рабочих сценариев, см. https://aka.ms/aspnetcore-hsts. приложение.UseHsts(); } app.UseHttpsRedirection(); приложение.UseStaticFiles(); app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); приложение.Выполнить(); NavHeader.razor
@rendermode InteractiveServer @inject IJSRuntime JSRuntime Строки @foreach (строка rw в Store.Rows) { @rw.Имя @rw.Id } Дата: @if (CscdProps.RowId != null & Store.Rows != null) { @if (Store.Rows.Count(x => x.Id == CscdProps.RowId) > 0 && CscdProps.RowId > 0) { @(Store. Rows.First(x => x.Id == CscdProps.RowId).Name) (ID: @CscdProps.RowId) } еще { Выбрать строку } } @код { [CascadingParameter(Name = "CascadingProps")] общественный CascadingProps CscdProps {get; набор; } частный DateTime dateSelect; защищенное переопределение асинхронной задачи OnInitializedAsync() { пытаться { dateSelect = CscdProps.SysDate; } поймать (исключение) { } } частная асинхронная задача SelectItem (int id) { CscdProps.RowId = идентификатор; } частная пустота OnDateChange (DateTime dt) { dateSelect = ДТ; CscdProps.SysDate = ДТ; } } Counter.razor
@page "/counter" @rendermode Интерактивныйсервер Счетчик Счетчик Текущее количество: @currentCount
Нажмите меня
@CscdProps.RowId
@CscdProps.SysDate @код { [CascadingParameter(Name = "CascadingProps")] общественный CascadingProps CscdProps {get; набор; } частный int currentCount = 0; частная пустота IncrementCount() { текущийCount++; } защищенное переопределение Task OnParametersSetAsync() { вернуть базу.OnParametersSetAsync(); } }
В предыдущей версии Blazor в .NET 7, когда я менял каскадный параметр (например, из средства выбора даты), запускалась функция OnParameterSet. В версии .NET 8 эта функция не запускается (после обновления до новой версии с той же логикой).
Есть ли шанс получить такое же действие в новой версии блазора?
Program.cs
с использованием CsPropTester; использование CsPropTester.Components; вар строитель = WebApplication.CreateBuilder(args); builder.Services.AddCascadingValue("CascadingProps", sp => new CascadingProps { RowId = 0, SysDate = DateTime.Today }); // Добавляем сервисы в контейнер. builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); вар приложение = builder.Build(); // Настраиваем конвейер HTTP-запросов. если (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); // Значение HSTS по умолчанию — 30 дней. Возможно, вы захотите изменить это для рабочих сценариев, см. https://aka.ms/aspnetcore-hsts. приложение.UseHsts(); } app.UseHttpsRedirection(); приложение.UseStaticFiles(); app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); приложение.Выполнить(); NavHeader.razor
@rendermode InteractiveServer @inject IJSRuntime JSRuntime Строки @foreach (строка rw в Store.Rows) { @rw.Имя @rw.Id } Дата: @if (CscdProps.RowId != null & Store.Rows != null) { @if (Store.Rows.Count(x => x.Id == CscdProps.RowId) > 0 && CscdProps.RowId > 0) { @(Store. Rows.First(x => x.Id == CscdProps.RowId).Name) (ID: @CscdProps.RowId) } еще { Выбрать строку } } @код { [CascadingParameter(Name = "CascadingProps")] общественный CascadingProps CscdProps {get; набор; } частный DateTime dateSelect; защищенное переопределение асинхронной задачи OnInitializedAsync() { пытаться { dateSelect = CscdProps.SysDate; } поймать (исключение) { } } частная асинхронная задача SelectItem (int id) { CscdProps.RowId = идентификатор; } частная пустота OnDateChange (DateTime dt) { dateSelect = ДТ; CscdProps.SysDate = ДТ; } } Counter.razor
@page "/counter" @rendermode Интерактивныйсервер Счетчик Счетчик Текущее количество: @currentCount
Нажмите меня
@CscdProps.RowId
@CscdProps.SysDate @код { [CascadingParameter(Name = "CascadingProps")] общественный CascadingProps CscdProps {get; набор; } частный int currentCount = 0; частная пустота IncrementCount() { текущийCount++; } защищенное переопределение Task OnParametersSetAsync() { вернуть базу.OnParametersSetAsync(); } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Сервер Blazor на ASP.NET Core MVC получает ошибку 500 при загрузке blazor.server.js [.NET8]
Anonymous » » в форуме C# - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-