Привязка данных SiteContent на странице Razor не работает

У меня есть страница бритвы с ядром .Net 8, и я установил режим рендеринга на InteractiveServer,

@rendermode InteractiveServer

Я используюsectionContent с переменной, чтобы привязать значение к интерфейсу,

Первоначально переменная устанавливается как пустая строка,

public string? result { get; set; } = "";

и он обновляется при нажатии кнопки, как показано ниже:

result = $"Search Results for\"{Query}\"";

однако значение не привязывается к представлению.

<SectionContent SectionName = "page-header-subtitle">
   @result
</SectionContent>

Может ли кто-нибудь помочь?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам придется сделать розетку интерактивной:

<SectionOutlet @rendermode = "InteractiveServer" SectionName = "page-header-subtitle" />

Нет, это тоже не отобразило результат, я что-то упускаю?

Sajeetharan 08.04.2024 19:44

Кстати, где результат в вашем примере кода?

Sajeetharan 08.04.2024 19:44

а что такое разделOutlet?

Sajeetharan 08.04.2024 20:01

Он работает на моем компьютере. Наверняка у вас где-нибудь есть РазделOutlet? Я поместил это в MainLayout.razor.

Henk Holterman 08.04.2024 20:06

См. Learn.microsoft.com/en-us/aspnet/core/blazor/comComponents/…

Henk Holterman 08.04.2024 20:07

Чтобы расширить ответ Хенка с интерактивностью, установленной на страницу/компонент.

Что ты делаешь по-другому?

Основной макет:

@using Microsoft.AspNetCore.Components.Sections
@inherits LayoutComponentBase

<div class = "page">
    <div class = "sidebar">
        <NavMenu />
    </div>

    <main>
        <div class = "top-row px-4">
            <a href = "https://learn.microsoft.com/aspnet/core/" target = "_blank">About</a>
        </div>
        <SectionOutlet @rendermode = "InteractiveServer" SectionName = "page-header-subtitle" />
        <article class = "content px-4">
            @Body
        </article>
    </main>
</div>

<div id = "blazor-error-ui">
    An unhandled error has occurred.
    <a href = "" class = "reload">Reload</a>
    <a class = "dismiss">🗙</a>
</div>

Прилавок

@page "/counter"
@using Microsoft.AspNetCore.Components.Sections
@rendermode InteractiveServer

<PageTitle>Counter</PageTitle>

<h1>Counter</h1>

<p role = "status">Current count: @currentCount</p>

<button class = "btn btn-primary" @onclick = "IncrementCount">Click me</button>

<SectionContent SectionName = "page-header-subtitle">
    <div class = "m-2">
        @currentCount
    </div>
</SectionContent>
@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }
}

Другие вопросы по теме