CodeZine(コードジン)

特集ページ一覧

ASP.NET MVC 3とRazorの@helper文法

連載:ScottGu's Blog翻訳

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/05/25 14:00

目次

複数のビューで@helpersを再利用

 上記の例では、呼び出したコードと同じビューテンプレート内に定義していますが、ビューテンプレート外で@helperメソッドを定義して、プロジェクト内のすべてのビューテンプレートで再利用することも可能です。

 プロジェクトのルートに作成された『App_Code』ディレクトリ内にある.cshtml/.vbhtmlファイルに、@helperメソッドを保存すれば完了です。例えば、以下では、『App_Code』フォルダに『ScottGu.cshtml』を作成し、2つの異なるヘルパーメソッドをそのファイル内に定義しました。ヘルパーメソッドは、各ファイルにいくつでも持てます。

 ヘルパーをアプリケーションレベルで定義すると、アプリケーションのどのビューテンプレート内でも使用可能になります。

 上記の『App_Code』のScottGu.cshtmlテンプレートは、『ScottGu』というクラスに、 『DisplayPrice』および『AnotherHelper』の静的メンバーとともに、ロジック的にコンパイルします。それを呼び出すために、以下のコードを使って、前回のサンプルを書きなおします。

 Visual Studioは、このように、アプリケーションレベルのヘルパーを呼び出す時、コードIntelliSenseを提供します。

まとめ

 Razorの@helper文法により、個々のビューテンプレート内、またはプロジェクトのすべてのビューテンプレートで再利用可能なヘルパーメソッドに、描画機能をカプセル化する便利な方法が利用できるようになります。

 この機能を使用して、よりクリーンで保守しやすいコードが書けます。

 Hope this helps,

 Scott

 P.S. ブログに加え、現在Twitterを使って簡単な更新やリンク共有を行っています。twitter.com/scottguで、私をフォローしてください。



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

バックナンバー

連載:Scott Guthrie氏 Blog翻訳

もっと読む

著者プロフィール

  • WINGSプロジェクト Chica(チカ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

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