C#

Blazor Server

Blazor Server で入力イベント処理を行う場合は @oninput を使う

入力欄の値が変更されたらタイミングのイベント処理を、@onchange で実装しようとしたのですが、@onchange イベントだとロストフォーカスされるまでイベントが発生せず、使い勝手がイマイチですが、@oninput イベントを使うと良...
Blazor Server

Blazor Server razorページとコンポーネントの入力値を連動する

razorページのイベントで、サイドバーコンポーネントの入力欄に値を入力する処理を実装した。サイドバーはコンポーネントなので、razorページ内のC#処理からサイドバーの入力欄に値を入力することは出来ませんが、JavaScriptを使えばコ...
Blazor Server

Blazor Server razorページから個別コンポーネントをイベント操作

トップページが表示されたタイミングで、サイドバーの入力欄にフォーカスをあてる処理を実装しました。サイド バー はコンポーネントなので、razorページ内のイベントからサイド バー の入力欄にフォーカスをあてることは出来ません。razorペー...
Blazor Server

Blazor Server で画像を作成しダウンロードする(on Linux)

Blazor Server でWeb画面やドキュメントを画像データに変換し、ダウンロードする機能を実装する場合、HTMLのテンプレートファイルを用意し、wkhtmltoimage で画像データに変換してからダウンロードするのがベターです。ソ...
Blazor Server

Blazor Server で画像を作成しダウンロードする(on Windows)

Blazor Server でWeb画面やドキュメントを画像データに変換し、ダウンロードする機能を実装する場合、HTMLのテンプレートファイルを用意し、wkhtmltoimage で画像データに変換してからダウンロードするのがベターです。 ...
.NET Core

C#で実行環境のOSを判定する場合は IsOSPlatform を使う

.Net Core アプリ実行時、OS毎に処理を分けたい場合、RuntimeInformation.IsOSPlatform() でOSを判定し処理を分ける。ソースコードはGitHubで公開しています。
.NET Core

C#でListを値コピー(DeepCopy)する際のお勧め v2

C#で自作したクラスのListを複製(値コピー/DeepCopy)する方法でネット検索すると、ToList()したり、newしたりする方法が出て来ますが、DeepCopy()メソッドを作るのが無難です。MemberwiseClone()を使...
Blazor Server

Blazor Server で Exception を処理する

Exception が発生した際に、ログ出力、画面出力しています。 ユーザーにはメッセージのみ表示し、ソースコードはログを見ないと確認できないようにすることで、ソースコードの漏洩を防ぎ、尚且つ、バグなどで予期せず処理に失敗したことをユーザー...
Blazor Server

Blazor Server でログを出力する

Blazor Server でログを出力する。Windows、Linux どちらへもデプロイ可能。ソースコードはGitHubで公開しています。   ソースコード構成   ソースコード変更内容を解説 WebApplication1.cspro...
Blazor Server

Blazor Server でサイドバーをハンバーガーメニューにする

Blazor Server でサイドバーをハンバーガーメニューにした。サイドメニューはこの方式が一番使い勝手が良いと思う。ソースコードはGitHubで公開しています。   ソースコード構成   ソースコード変更内容を解説 Shared/Ma...