2021年01月 (5件)

ASP.NET Tips #005 - ブラウザーキャッシュに対応した aタグ・sourceタグ 用の独自タグヘルパーを実装する

ASP.NET Core で wwwroot 配下にある静的ファイル へのアクセスに対して HTTP ヘッダーに "Cache-Control" を設定する事ができます。
ブラウザー側でのキャッシュ期間を設定するとリクエストを軽減させる事ができますが、同名のファイルをアップロードしなおしても パスが一緒のためキャッシュが優先 されてしまいます。

記事を読む

ASP.NET Tips #004 - ASP.NET Core で静的ファイルへのアクセス時に HTTP ヘッダーに "Cache-Control" を付加して一定期間リクエストを軽減させる

ASP.NET Core で wwwroot 配下にある静的ファイル(画像やスタイルシート、スクリプトなど)へのアクセスに対して HTTP ヘッダーに "Cache-Control" を設定する事ができます。
ブラウザー側でのキャッシュ期間を設定する事でリクエストを軽減させたい場合は、Startup.cs の Configure() 内で UseStaticFiles() を書き換えて、レスポンスのヘッダーに "Cache-Control" を追加します。

記事を読む

ASP.NET Tips #003 - ASP.NET Core でビューのレンダリング時にマルチバイト文字を HTML エンコードさせない

ASP.NET Core MVC では、 Razor 構文を用いて Model/ViewBag/ViewData などの値( Unicode 文字)をビューに埋め込むとマルチバイト文字を HTML エンコードしてくれますが、「ページのソースを表示」で人間が読むには可読性が悪くてデバッグしにくいです。

今回は Home/Index ビューの ViewData["Title"] を「ホーム:ABCあいうえおdef漢字123GHI」に変えて、全角文字をテストします。

~/Views/Home/Index.cshtml
@{
	ViewData["Title"] = "ホーム:ABCあいうえおdef漢字123GHI";
}

<div class="text-center">
	<h1 class="display-4">Welcome</h1>
	<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
	<hr />
	<p>@(ViewData["Title"])</p>
</div>
記事を読む

ASP.NET Tips #002 - ASP.NET Core でルーティングによって動的に生成される URL を小文字にする

ASP.NET Core MVC では、タグヘルパーを使用する事で href を自動で生成する事ができます。

~/Views/Shared/_Layout.cshtml
<ul class="navbar-nav flex-grow-1">
	<li class="nav-item">
		<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
	</li>
	<li class="nav-item">
		<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
	</li>
</ul>

実行時にルーティングによって生成されるURLは href="/Home/Privacy" となります。この URL を href="/home/privacy" と小文字にしたい場合は、 Startup.cs の ConfigureServices() 内で AddRouting() のオプションで LowercaseUrls を true に設定します。

記事を読む

ASP.NET Tips #001 - ASP.NET Core でルーティングによって動的に生成される URL の末尾にスラッシュを追加する

ASP.NET Core MVC では、タグヘルパーを使用する事で href を自動で生成する事ができます。

~/Views/Shared/_Layout.cshtml
<ul class="navbar-nav flex-grow-1">
	<li class="nav-item">
		<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
	</li>
	<li class="nav-item">
		<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
	</li>
</ul>

実行時にルーティングによって生成されるURLは href="/Home/Privacy" となります。この URL を href="/Home/Privacy/" と末尾にスラッシュを追加したい場合は、 Startup.cs の ConfigureServices() 内で AddRouting() のオプションで AppendTrailingSlash を true に設定します。

記事を読む