asp.net-core-mvc

UrlHelper.ActionLinkメソッドで絶対URLを取得する - ASP.NET Core MVC

UrlHelperのActionLinkメソッドを使うと絶対URLを取得できます。 ASP.NET Core 3.0で追加されたようです。知らなかった。 docs.microsoft.com Actionメソッド Actionメソッドは相対URLを取得できます。普段使うやつですね。 Url.Action("Index", "Sample") /…

ModalParitalTagHelperを作ってみた - ASP.NET Core MVC

BootstrapのModalを使っていると、ほとんど同じマークアップで一部だけを変更したいことがあると思います。 あるあるな要件かなと思いますが、 サイト内で使うモーダルはだいたい同じHTMLで統一したい(class属性も揃えたい) モーダルのタイトルや本文はそ…

前後にタグを出力するTagHelperを作ってみた - ASP.NET Core MVC

TagHelperを調べているとTagHelperOutputクラスに次のプロパティを見つけました。 PreContent PostContent PreElement PostElement このあたりのプロパティを使うと、タグの前後にタグを出力して例えばタグを入れ子にするといったこともできるようです。 と…

ASP.NET Core MVC - アクション名のAsyncサフィックスが削除されることを確認する

ASP.NET Core の破壊的変更 - .NET Core | Microsoft Docs 上記ドキュメントにある「コントローラアクション名からAsync サフィックスが削除される」ことを確認してみました。 MVC: コントローラー アクション名から Async サフィックスを削除 aspnet/AspNet…

ASP.NET Core - ファイルを扱う

ASP.NET Coreでファイルを扱うサンプルです。 ドキュメントはこのあたり。 docs.microsoft.com 任意の物理ファイルを扱うには、IFileProviderを実装したPhysicalFileProviderを使います。 // ルートフォルダ(=スコープ)を指定してファイルプロバイダを生成…

ASP.NET Core MVC - 時間がかかるアクションメソッドをキャンセルできるようにする

ASP.NET Core 2.2からサポートされているインプロセスホスティングモデル。その特徴の1つをDocsから引用します。 クライアントの切断が検出されます。 クライアントが切断されると、HttpContext.RequestAbortedキャンセルトークンが取り消されます。 docs.mi…

ASP.NET Core MVC - Serilogを使ってファイルにログ出力する

ASP.NET Core MVCでSerilogを使ってファイルにログ出力するサンプルを書いてみました。 Serilog — simple .NET logging with fully-structured events サンプルでは次のことを実現しています。 ログをファイルに出力する 日付ごとにログファイルを作成する …

ASP.NET Core MVC - ビューを相対パスで指定する

ASP.NET Core MVCではビュー名を指定してビューを探すと思いますが、ビュー名だけでなくて相対パスも指定できますよというメモ。 相対パスは~か/ではじまる文字列です。 Controller.Viewメソッドの引数viewName ViewResultを生成するメソッドですね。このメ…

ASP.NET Core MVC - Cookie認証を試す

ASP.NET Core MVCの勉強の記録です。 こちらのドキュメントを参考にしてIdentityを使わないCookie認証を試しました。 ASP.NET Core Identity なしでの cookie 認証を使用します。 | Microsoft Docs Cookie認証はいわゆるフォーム認証だと思うんですが、もし…

ASP.NET Core MVC - 部分ビューを再帰で呼び出す

部分ビューから自身の部分ビューを再帰で呼び出しできるよね?と思って試したらできましたというお話。 以下は次のul・liを作るサンプルです。 モデルを準備 まずはノードを表すモデルとデータを用意します。 // ノード public class Node { // 名前 public …

ASP.NET Core MVC - クッキーを使う

ASP.NET Core MVCのクッキーの勉強メモです。 クッキーを設定する レスポンスにクッキーを設定するには、IResponseCookies.Appendメソッドを使います。 // クッキーを設定する HttpContext.Response.Cookies.Append("test", "Hoge"); // レスポンスに追加さ…

ASP.NET Core MVC - @addTagHelperは名前空間ではなくアセンブリ名を指定する

タグヘルパーを作ってみていきなりハマったのでもメモしておきます。 @addTagHelperディレクティブでタグヘルパーを使えるようにしますが、このときに指定するのは名前空間ではなくアセンブリ名です。 例えば次のようなTagHelperを作ったとして、 // アセン…

ASP.NET Core MVC - TempDataを使う

ASP.NET Core MVCの勉強の記録です。 今回はTempDataを使ってみたいと思います。いつものようにDocsを参考にしています。 ASP.NET Core でのセッションとアプリの状態 | Microsoft Docs StartupクラスでTempDataを構成する まずはTempDataを使うために準備し…

ASP.NET Core MVC - Sessionを使う

ASP.NET Core MVCの勉強の記録です。 いつものごとくDocsを参考にして、今回はセッションを使ってみたいと思います。 ASP.NET Core でのセッションとアプリの状態 | Microsoft Docs Startupクラスでセッションを構成する まずはセッションを使えるようにしま…

ASP.NET Core MVC - オプションパターンで設定ファイルを読み込む

オプションパターンを使って設定ファイルから構成情報を読み込むサンプルです。 こちらを読みながら試しました。 ASP.NET Core のオプション パターン | Microsoft Docs 上記ドキュメントにもメリットが書いてありますが、平たく言ってしまうと「オプション…

ASP.NET Core MVC - グローバルフィルタで認証

グローバルフィルタを使って認証を必要とする方法です。認証を必要とするというかアクセス制御するというか。 ウェブアプリのうちログインを必要とする部分が多くてログイン不要な部分が少ない場合、グローバルフィルタで全体を制御しつつ、ログインなしで利…

ASP.NET Core MVC - ビューコンポーネントの呼び出し方色々

ASP.NET Core MVCのビューコンポーネントを試してみました。 ビュー コンポーネント | Microsoft Docs ビューコンポーネントは従来のASP.NET MVCにあったチャイルドアクション(子アクション、ビューからRenderActionで呼び出していたあれ)の代わりになる機…

ASP.NET Core MVC - ビューの基底クラスを変更する

ASP.NET Core MVCのビュー全体で、プロジェクト独自のプロパティやメソッドを追加して利用したいことがあるかなと思います。 デフォルトでは、ビューはMicrosoft.AspNetCore.Mvc.Razor.RazorPage<TModel>を継承しています。このクラスを派生したクラスを用意すること</tmodel>…

ASP.NET Core MVC - 生成されるURLを小文字にする

ASP.NET Core MVCを勉強し始めたので、その記録というかメモというか小ネタを残していきたいと思います。 まずはタグヘルパーやHTMLヘルパー(URLヘルパー)を使って生成するURLを小文字にする方法です。CoreじゃないASP.NET MVCでは、RouteCollection.Lower…