.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)のソースコード以外、DialogとDialogServiceページに指導されてるように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