Как визуализировать компонент Blazor с помощью параметра RenderFragment со страницы RazorC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как визуализировать компонент Blazor с помощью параметра RenderFragment со страницы Razor

Сообщение Anonymous »


У меня есть следующий компонент Blazor:

# Button.razor @ChildContent @код { [Параметр] общественный RenderFragment ChildContent {get; набор; } } Я хочу использовать его на странице Razor. Я знаю, что могу использовать: @(await Html.RenderComponentAsync(RenderMode.ServerPrerendered)) для этого. Но как передать этому компоненту параметр RenderFragment? RenderComponentAsunc имеет второй аргумент, через который я могу передать параметры для компонента, поэтому я думаю что-то вроде этого должно быть возможно:

# Page.cshtml @(ожидайте Html.RenderComponentAsync(RenderMode.ServerPrerendered, новый { ChildContent = "Текст кнопки" })) Однако это заканчивается ошибкой:

InvalidCastException: невозможно привести объект типа «System.String» к типу «Microsoft.AspNetCore.Components.RenderFragment». Поэтому я попытался передать RenderFragment напрямую. Я создал метод расширения, который создает RenderFragment из строки:

публичный статический класс StringExtensions { общедоступный статический RenderFragment ToRenderFragment (эта строка s) => b => b.AddContent(0, s); } А затем визуализируйте это следующим образом:

@(await Html.RenderComponentAsync(RenderMode.ServerPrerendered, new { ChildContent = "Текст кнопки".ToRenderFragment() })) Мне этот подход тоже не удался.

NotSupportedException: сериализация и десериализация экземпляров Microsoft.AspNetCore.Components.RenderFragment не поддерживаются.NotSupportedException: сериализация и десериализация экземпляров Microsoft.AspNetCore.Components.RenderFragment не поддерживаются.NotSupportedException: сериализация и десериализация экземпляров Microsoft.AspNetCore.Components.RenderFragment не поддерживается. Компонент также можно отобразить с помощью тега . Итак, я попробовал.

Текст кнопки Но это отображает html неправильно

Текст кнопки И я хочу

Текст кнопки Как это сделать? Здесь я использую кнопку в качестве упрощенного примера, поэтому прямое использование разметки в файле .cshtml будет неудобным дублированием кода.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как передать компоненту два разных RenderFragment и визуализировать их в разных местах?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как передать компоненту два разных RenderFragment и визуализировать их в разных местах?
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Компонент Razor не распознает файл .razor.css в проекте Blazor
    Anonymous » » в форуме C#
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Компонент Razor не распознает файл .razor.css в проекте Blazor
    Anonymous » » в форуме C#
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • Компонент Razor не распознает файл .razor.css в проекте Blazor
    Anonymous » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

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