SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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フォームを活用していくお役に立てば幸いです。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
実例で学ぶASP.NET 4.5 Webフォーム 新機能活用法連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C# 2017対応』(日経BP社、2017)など。<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7530 2013/12/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング