0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リソースファイルを用いてビュー上の日本語を管理する基本手順(ASP.NET)

Last updated at Posted at 2023-04-19

やりたいこと

ページの表記を日本語に変更する際、まとめて項目を管理したい。

問題になっていること

英語表記になっている箇所を日本語表記にしたいが、ビューやコントローラーが複数あり、効率よく管理したい。特に商品一覧に表示されているヘッダー部分は、複数のページで利用される項目であり、まとめて管理したい。
image.png
ビューのサンプル

@ModelType IEnumerable(Of ASP.NET_Webアプリケーションの勉強.t_item)
@Code
ViewData("Title") = "Index"
End Code

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(Function(model) model.ItemName)
        </th>
        <th>
            @Html.DisplayNameFor(Function(model) model.RegistrationDate)
        </th>
        <th></th>
    </tr>

@For Each item In Model
    @<tr>
        <td>
            @Html.DisplayFor(Function(modelItem) item.ItemName)
        </td>
        <td>
            @Html.DisplayFor(Function(modelItem) item.RegistrationDate)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", New With {.id = item.Id}) |
            @Html.ActionLink("Details", "Details", New With {.id = item.Id}) |
            @Html.ActionLink("Delete", "Delete", New With {.id = item.Id})
        </td>
    </tr>
Next

</table>

調査した結果

リソースファイルを作成し、そこで日本語の項目を管理し、ビューファイルへ表示する方法が見つかった。

やるべきこと

  • リソースファイルを作成する
  • リソースファイル内に日本語にしたい情報を、キーとバリューとして入力しておく
  • コントローラー側でリソースファイルを読み込む
  • ビュー側でリソースファイルにある情報を読み出す

リソースファイルを作成する

  1. ソリューションエクスプローラーに、"App_GrobalResources"のフォルダを追加する。
    image.png

  2. リソースファイルを追加する
    image.png
    image.png

  3. 名前と値(キーとバリュー)に管理に必要な項目を登録する
    ※アクセス修飾子は必ず"Public"に設定してください。設定しない場合、ビューで読み込みができません。
    image.png

  4. コントローラーの中でリソースファイルを定義する
    image.png

  5. リソースファイルで管理している項目をビュー上で呼び出す。
    image.png

  6. 反映されていることを確認する
    image.png

サンプルコード(コントローラー)

        Private db As New db_SystemEntities
        Private japanese As New My.Resources.Japanese

        Function Index() As ActionResult
            ViewBag.japanese = japanese
            Return View(db.t_item.ToList())
        End Function

サンプルコード(ビュー)

        <th>
            @ViewBag.japanese.item_name
        </th>
        <th>
            @ViewBag.japanese.registration_date
        </th>

完成

リソースファイルを準備しておくことで、日本語表記を管理することができ、仕様変更に伴う影響を抑えることができるようになった。
image.png

注意事項

  • この記事では、visual studio 2022を使用しているので、試してみたい方は事前に準備が必要です。
  • 関連する記事の一覧はこちら
    ※参照先のリンクが切れている場合は、トップページから確認してください。

この記事は誰向けの記事か?

  • 試しにASP.NETを始めてみたいと思っている人

環境

本記事における注意事項

  • 本記事は、備忘録としてまとめたものになります。
  • 他の方の参考になる可能性も踏まえて、一般公開も行なっております。
  • また記載内容はすべて、正しい内容が記載されているとは限りません。
  • 誤った内容を見つけた場合は、ご指摘をお願いいたします。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?