@Meister619 (Loïc LE TEXIER)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

.NET 8:FluentDialogProvider needs to be added to the main layout of your application/site

解決したいこと

サーバー側の Fluent Blazor ウェブアプリケーションを作成していて、メイン画面でユーザーがボタンをクリックしたときにダイアログを表示したいです。
その機能を実装するために、FluentUI コンポーネント・ライブラリのサイト最初の例(DialogService with IDialogReference)からコードの大部分をコピーしました。

ダイアログを開くボタンをクリックすると、下記のエラーが発生しました…

発生している問題・エラー

```
System.ArgumentNullException: <FluentDialogProvider /> needs to be added to the main layout of your application/site. (Parameter 'OnShowAsync')
```

該当するソースコード

最初の例(DialogService with IDialogReference)のソースコード以外、DialogDialogServiceページに指導されてるようにComponents\Layout\MainLayout.razor<FluentDialogProvider />を追加しました:

@inherits LayoutComponentBase

<FluentLayout>
    <FluentStack Class="main" Orientation="Orientation.Horizontal" Width="100%">
        <FluentBodyContent>
            <div class="content">
                @Body
            </div>
        </FluentBodyContent>
    </FluentStack>
</FluentLayout>
<FluentDialogProvider />

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

自分で試したこと

FluentDialogProviderの場所を変えたり、Components\Layout\MainLayout.razor@rendermode InteractiveServerをしてみたけど違うエラー発生することしかありませんでした。

0 likes

1Answer

ここに答え見つかりました!
FluentDialogProviderにパラメターを追加しないといけません:

<FluentDialogProvider @rendermode="RenderMode.InteractiveServer" />
0Like

Comments

  1. 問題が解決したのでしたら、質問をクローズしましょう。

  2. @Meister619

    Questioner

    はい、すみません、

Your answer might help someone💌