C#

Blazor のPath Base(pathbase)について

1. はじめに Blazorのプロジェクトを作成すると、テンプレート選択が「Blazor(client)でもBlazor(ASP.NET core hosted)でも」、dotnet run によるデフォルトの実行構成は http://localhost:5000 でアプリをホストするようになります。 開発サーバーなのでhos…

Blazor でトースター表示する(sotsera.blazor.toaster)

1. はじめに Blazorでトースター メッセージを表示する sotsera.blazor.toaster を使ってみました。 github.com 2. サンプル実装 ではサクッと。 2.1. プロジェクト作成 プロジェクトを作成します。 プロジェクト名は use-sotsera-toaster としました。 dotn…

Blazor Extensions Logging を使ってログ出力する

1. はじめに Blazorでのロギングを試したいと思います。 まず本投稿で動作確認した各種環境は以下の通りです。 Windows 10 x64 .NET Core 3.0.100-preview5-011568 Blazor Extensions Logging 0.1.11 最もシンプルなロギングは標準機能「Console.WriteLine()…

Blazor [tips]: bindとonchangeの併用は不可

1. はじめに Blazorを調査しているときに、データバインディングについて理解していない段階で はまった ことを思い出したのでTipsとして書いておきます。 「inputタグに"bind属性"と"onchange属性"を両方つけると、(おそらく)想定した動きをしないよねー…

Blazor-Fluxorで簡易Todoアプリを作る

1. はじめに Microsoft Build 2019 盛り上がってますね、たぶん(僕は非MS系会社勤務なので分からぬ)。 .NET / Azureのたくさんのサービスの発表・GA等々行われていますが、ここでは今回もPreview版である(Client Side)Blazorについて取り上げます。 今回は…

BlazorからWebAPIを呼び出す

1. はじめに まず、この記事はCliend side Blazorを前提とします。 Blazorアプリケーションは、つまりSPAなアプリですので、たいていの場合 データの表示・更新等のため に Web API呼び出し が必要になります。 今回は OpenWeatherMap が提供するWeb APIをBl…

BlazorでSPAするぞ!(7) - DI(Dependency Injection)

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com 今回はDI(Dependency Injection)について。 まあ、今どきのフレームワークなので(そして.NET Coreの流れをくむBlazorなので)DIは標準でサポートしています。 DIって当たり前に使う時代になりすぎ…

BlazorでSPAするぞ!(6) - Routing

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com 今回はルーティングについて。 URLに対するページ(コンポーネント)のルーティング(マッチング)ですね。 1. ルーティング(Routing) サンプルプロジェクトからルーティングを学んでいきたいと思いま…

BlazorでSPAするぞ!(5) - レイアウト

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com 今回はレイアウト機能について。 1. レイアウト機能とは これはよくあるやつですね。 ASP.NET Coreでの「_Layout.cshtml」と大体同じことです。 ヘッダやフッター、メニューなど、アプリケーショ…

BlazorでSPAするぞ!(4) - データバインド(おかわり)

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com 1. データバインド Component のデータバインディングについては BlazorでSPAするぞ!(2) - Component - ryuichi111stdの技術日記 で軽く説明し、value="@xxx"によるone-wayバインディング / bind…

BlazorでSPAするぞ!(3) - パラメータ

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com 前回 Component の基本的な作り方・使い方を見てみましたが、今回はComponentのパラメータ機能を見ていきます。 1. パラメータ(Parameter)の利用 コンポーネントは、コンポーネント(ページ等)内…

BlazorでSPAするぞ!(2) - Component

という事で、↓↓↓の続きです。 ryuichi111std.hatenablog.com BlazorでのUI要素であるComponent(コンポーネント)について見ていこうと思います。 1. コンポーネント(Component) 前回 Hello Blazor ページを実装しましたが、これ自体がコンポーネントです。 ペ…

BlazorでSPAするぞ!(1)

以前からBlazorに興味を持ちつつもExperimentalだしなぁ、SPAは まぁ React+Redux で安定的な感じでいいんじゃね? などと思っていたら 2019/4/18 にExperimentalから正式Previewになったので、ちょろちょろ勉強してみました。 https://devblogs.microsoft.c…

BlazorでSPAするぞ! - 目次

2019年GWを使って Blazor についての基本をブログにまとめました。 本投稿は「目次」になります。 ryuichi111std.hatenablog.com ryuichi111std.hatenablog.com ryuichi111std.hatenablog.com ryuichi111std.hatenablog.com ryuichi111std.hatenablog.com ry…

C#7.1のAsync Mainがお気に入り~Visual Studio 2017 Update 3(15.3)

Visual Studio 2017 Update3(15.3)が 2017/8/14 にリリースされました。 www.visualstudio.com .NET Core 2.0サポートだったり、コンパイルベースのAzure Functionsサポートのような今までPreview版を利用しなければならなかった機能が正式版で使えるように…

C#7のローカル関数(Local Function)とは何か

C#

C# 7には「ローカル関数(Local Function)」という機能が追加されました。 関数(メソッド)の中に関数を定義できるというものです。 以下は(処理的には何の意味も持ちませんが)ローカル関数を使った例です(リスト1)。 TestClass1クラスのTestMethod1()…

C# 7 の Tuple は戻り値が複数の時に便利

2017/3/11、「Visual Studio 2017 リリース記念勉強会 & まどすた #2」に参加してきました。 1コマ目のセッションとして、岩永 信之(@ufcpp)さんの「C# 7」セッションを聞かせていただきました。 C# 7の新機能について非常に細かく説明していただきましたが…

C# 7 のタプル機能(そろそろC# 7について考えたのです)

C# 7 ではいくつかの機能追加が行われています。 というか、言語仕様レベルでの機能追加がまだ行われるとか、どんどん複雑化していくような危惧も持ってしまいますが・・・「デコンストラクタ」とか本当に必要なのかなぁ・・・とか思っちゃったりもするけど…