Blazor в вкладках страниц, но контент не меняется ⇐ C#

Место общения программистов C#
Anonymous
Blazor в вкладках страниц, но контент не меняется

Сообщение Anonymous »

Когда я нажимаю на одну из трех кнопок (ярлык, поезд или фабрика) на моей странице Blazor, я хочу, чтобы область контента обновлялась так, как будто я переключал вкладки, без перезагрузки страницы. Тем не менее, это не работает: нажатие кнопок не меняет отображаемый контент. Даже когда я пытался с нативной кнопкой Mudblazor, ничего не происходит. Что может вызвать эту проблему? Возможно ли, что событие Click не обнаруживается? Горячая перезагрузка Visual Studio?
Вот код,
страница < /p>
@page "/"

@using Basil.Components.Buttons
@using MudBlazor

Project choice
@*




*@


Test Projet





@if (selectedTab == "raccourci")
{
Contenu Raccourci
}
else if (selectedTab == "projects")
{
Contenu Projets
}
else if (selectedTab == "site")
{
Contenu Site
}

@code {
private string selectedTab = "raccourci";

private void SelectTabRaccourci()
{
selectedTab = "raccourci";
StateHasChanged();
}

private void SelectTabProjects()
{
selectedTab = "projects";
StateHasChanged();
}

private void SelectTabSite()
{
selectedTab = "site";
StateHasChanged();
}
}
< /code>
и кнопка: < /p>

@using MudBlazor;

@if (IsVisible)
{



@if (MudBadgeContent > 0)
{

@Title

}
else
{
@Title
}


@((MarkupString)TooltipContent)



}

@code {
[Parameter]
public EventCallback OnClick { get; set; }

[Parameter]
public string TooltipContent { get; set; }

[Parameter]
public string Title { get; set; }

[Parameter]
public string Icon { get; set; }

[Parameter]
public bool AlignRight { get; set; } = false;

[Parameter]
public bool DisableAlign { get; set; } = false;

[Parameter]
public bool Disabled { get; set; } = false;

[Parameter]
public bool IsVisible { get; set; } = true;

[Parameter]
public int MudBadgeContent { get; set; } = 0;

[Parameter]
public Color Color { get; set; } = Color.Primary;

[Parameter]
public Color TooltipColor { get; set; } = Color.Default;

private bool PadLock { get; set; }
private string CssAlign => DisableAlign ? "inline" : AlignRight ? "right" : "left";

private async Task Clic()
{
PadLock = true;
StateHasChanged();

if (OnClick.HasDelegate)
{
await OnClick.InvokeAsync();
}

PadLock = false;
StateHasChanged();
}
}
< /code>
Скажите, если вам нужно что -нибудь еще.
ps: я не знаю C#, и я только начал Blazor. Это в интересах, так что я учусь почти у ни одного


Подробнее здесь: https://stackoverflow.com/questions/796 ... snt-change

Вернуться в «C#»