Страница с @attribute [Authorize] ведет себя неожиданно с @rendermode InteractiveServerC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Страница с @attribute [Authorize] ведет себя неожиданно с @rendermode InteractiveServer

Сообщение Anonymous »

Я работаю с Blazor Web App, которое использует .NET 9 для авторизации. Мне нужно применить @rendermode Interactiveserver в Navmenu.razor , чтобы включить взаимодействие на стороне клиента со стороной сервера через код C#:

Код: Выделить всё



Products





Примечание: он применяется к множеству Navlink экземпляров компонентов.
Рефакторирование Navmenu.razor from @rendermode Interactiveserver в качестве определения компонента в @rendermode = "precactiveserver" в качестве экземпляра компонента. class = "lang-cs prettyprint-override">

Код: Выделить всё



Products





< /code>
Я получаю эту ошибку: < /p>

InvalidoperationException: не может передать параметр 'childcontent' to component 'Navlink' с rendermode 'interactiveserrendermode'.

Это потому, что параметр «delegaterrendermode». 'Microsoft.aspnetcore.components.renderfragment', который является произвольным кодом и не может быть сериализован. В противном случае он ведет себя так же, как и ожидалось, особенно если я попытаюсь перейти на страницу Auth.Razor 
, если я еще не аутентифицирован, и доступ к ней не разрешен:

Код: Выделить всё

@page "/auth"
@using Microsoft.AspNetCore.Authorization

@attribute [Authorize]

Auth

You are authenticated


Hello @context.User.Identity?.Name!

Вот экземпляр компонента Navlink в Navmenu.razor :

Код: Выделить всё


 Auth Required


Оказывается, что страница Auth.razor с @attribute [Authorize] вводит конфликт, если я изменяю Navmenu.Razor и включаю @Rendermode InteractiveServer .
уже имеет какую -то то же самое, что и у меня? Знаете ли вы, как его разрешить, если в случае есть взаимодействие на стороне клиента с кодом на стороне сервера?

Подробнее здесь: https://stackoverflow.com/questions/797 ... -interacti
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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