CodeZine(コードジン)

特集ページ一覧

ASP.NET 4.5の「Scaffolding(スキャフォールディング)」機能を試す(後編)

実例で学ぶASP.NET 4.5 Webフォーム 新機能活用法 第7回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/12/16 14:00
目次

UIの日本語化

 生成されたコードのaspx内の画面タイトル、リンク、ボタンなどを手作業で日本語に修正します(リスト9)。

リスト9 会議室画面(Views\MeetingRoom\Default.aspx)
<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="MainContent">
  <h2>会議室リスト</h2>
  <p>
    <asp:HyperLink runat="server" NavigateUrl="Insert" Text="新規作成" />
  </p>
  <div>
    <asp:ListView runat="server"
      DataKeyNames="Id" ItemType="MRRS_Scaffolding.Models.MeetingRoom"
      AutoGenerateColumns="false"
      AllowPaging="true" AllowSorting="true"
      SelectMethod="GetData">
      <EmptyDataTemplate>
        会議室データはありません。
      </EmptyDataTemplate>
      <LayoutTemplate>
        <table>
          <thead>
            <tr>
              <th>会議室名</th>
              <th>場所</th>
              <th>&nbsp;</th>
            </tr>
          </thead>
          ...
      </LayoutTemplate>
      <ItemTemplate>
            ...
            <asp:HyperLink runat="server"
              NavigateUrl='<%# FriendlyUrl.Href("~/Views/MeetingRoom/Edit", Item.Id) %>'
              Text="編集" />
            ...
      </ItemTemplate>
    </asp:ListView>
  </div>
</asp:Content>

 以上でカスタマイズは終わりです。実行してみると、場所IDに対応した名前が表示され、編集画面ではドロップダウンリストで入力できるようになります。また、タイトルなどが日本語で表示されます(図5)。

図5:カスタマイズ後の会議室メンテナンス画面の動作
図5:カスタマイズ後の会議室メンテナンス画面の動作

まとめ

 今回は、前回Scaffoldingを使って生成したコードの解説とそのカスタマイズ方法を学びました。まとめると次のようになります。

  • 生成されたテーブルはデータモデル定義に沿って生成される
    • テーブル名はデータモデル名の複数形
    • 主キーはIdフィールド
  • 画面はASP.NET DynamicData、およびモデルバインド、モデル検証を利用している
    • DynamicEntityコントロールにより、フィールドに対応した表示、入力コントロールが実行時に生成される
  • ナビゲーションはFriendly URLsを利用している
    • URLルーティングに面倒な設定が不要になる
    • 「セグメント」を使い、データの受け渡しを行う
  • 項目のカスタマイズを行うには、フィールドテンプレートを使う。
    • 適用したいフィールドテンプレートの(テンプレート名).ascx(.cs)、(テンプレート名)_Edit.ascx(.cs)ファイルを作成する
    • フィールドテンプレートの名前を、データモデルの該当フィールドに、UIHint属性で指定する
  • 画面のタイトルなどは、aspxファイルを直接編集する

 さて、全7回に渡ってお送りした本連載も今回で最後になります。

 Webフォームは歴史のあるプラットフォームであり、昨今では古臭く使いにくいという意見もよく耳にします。しかし、積み上げてきた資産は膨大ですし、ASP.NET 4.5で追加されたさまざまな新機能を使うことで、用途を絞ればまだまだ非常に強力なプラットフォームであると言えるでしょう。また、Visual Studio 2013で搭載された「One ASP.NET」により、ほかのテクノロジーと併用することも容易になりました。

 ぜひ、ASP.NET Webフォームも毛嫌いせずに新機能を試し、評価して、活かせるべきところは活かし、不得意なところは他のテクノロジーを合わせて使うなど、自分なりのベストプラクティスを模索していってください。本連載があなたにとって、今後少しでもASP.NET Webフォームを活用していくお役に立てば幸いです。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:実例で学ぶASP.NET 4.5 Webフォーム 新機能活用法

著者プロフィール

  • WINGSプロジェクト 高野 将(タカノ ショウ)

    <個人紹介> 新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5