Hokuriku.NET ASP.NET MVC 入門 2 回目 3.効率的なビュー開発

  • 1,716 views
Uploaded on

2012/11/24 ASP.NET MVC 入門 2 回目 の資料の一部です。

2012/11/24 ASP.NET MVC 入門 2 回目 の資料の一部です。

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,716
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. お悩み解決!!効率的なビュー開発
  • 2. お悩み解決!! 効率的なビュー開発ビューのコードが複雑になってしまう・・・重複コードをなくしたい・・・Html の記述は量が多いので、大変。スピーディに行いたい。ASP.NET MVC って、生産性悪いんでしょう? どのような実装かわかりませんが、これから紹介する方法で 解決できるかもしれません。 初めて開発する方も知っておくとお得です。 ただの Tips ではありません。 立派な ASP.NET MVC のビュー機能 をご紹介します。
  • 3. お品書き カスタム Html ヘルパー 同じ Html 要素を書いた時には、これ! 宣言型 Html ヘルパー ビューで複雑な処理を書いた時には、これ! 部分ビュー 同じ画面を書いた時は、これ!で統一 Html.Action 画面の中に、まったく違う性質の情報を表示することに なった時には、これ! テンプレート機能 この型はこの表示、と決まっていたらテンプレートを 作ろう!
  • 4. 1. カスタム Html ヘルパー @Html.ActionLink(…) などと同じように、自分で Html ヘルパーを作成します。Html ヘルパー は、 HtmlHelper オブジェクトを引数に持ち、MvcHtmlString を返す拡張メソッドです。作成するときは、同じように拡張メソッドを作成します。
  • 5. 2. 宣言型 Html ヘルパー ビューの記述が複雑になってしまった時、 関数のように利用することができます。
  • 6. 2. 宣言型 Html ヘルパーApp_Code フォルダの中に作成すると、全ビューから参照することができます。共通する文章等は、ここに記述するとよいかもしれません。
  • 7. 3. 部分ビュー共通する部分を、別ファイルとして作成し、複数のビューで共有することができます。 _Form.cshtmlCreate.cshtml (部分ビュー) Edit.cshtml
  • 8. 3. 部分ビュー作成した部分ビューを表示したい時は、このように記述します。第1引数は、部分ビューの名前を指定します。部分ビューで利用する Model を指定することもできます。下の用に書くこともできます。が、違いはほとんどありません。
  • 9. 4. Html.Action1つのページにまったく性質の違う情報が複数ある場合、無理に1つのアクションメソッドに処理を書く必要はありません。Html.Action を利用します。 最新情報 日記Details.cshtml
  • 10. 4. Html.ActionHtml.Action は、指定したアクションの結果を出力することができます。(別のアクションメソッドの処理を呼ぶことができる、というイメージです) 最新情報 日記Details.cshtml
  • 11. 4. Html.Action利用するときは、ビュー側で、以下のように記述します。引数では、コントローラやアクションを指定します。以下の様に書くこともできます。が、違いはほとんどありません。
  • 12. 5. テンプレートこの項目は、この表示方法で、この項目は、このような入力方法で、といった決まりを、テンプレートとして作成し、利用することができます。テンプレートは、 表示用 と 編集用の2種類に分けることができます。
  • 13. 5. テンプレート利用する場合表示用:編集用:以上のように記述すると、項目の型情報などから、どのテンプレートを利用するか判断し、そのテンプレートを利用して出力されます。
  • 14. 5. テンプレートテンプレートの作成方法作成用: DisplayTemplates フォルダ内編集用: EditorTemplates フォルダ内に作成します。場所は、Shared または、各コントローラフォルダ内に置きます。
  • 15. 5. テンプレートテンプレートの選択方法 型情報から、テンプレートが選択されます。 [UIHint(“Name”) ] → Name.cshtml を検索 [DataType(DataType.Url)] → Url.cshtml を検索 プロパティの型(String) → String.cshtml を検索
  • 16. 5. テンプレート既に ASP.NET MVC に登録されているテンプレートもあります。bool , DataType.Url , DataType.EmailAddress, などなど・・・注意! DataType の属性をつけたからといって、 検証を行ってくれるわけではありません。
  • 17. おしまい カスタム Html ヘルパー 同じ Html 要素を書いた時には、これ! 宣言型 Html ヘルパー ビューで複雑な処理を書いた時には、これ! 部分ビュー 同じ画面を書いた時は、これ!で統一 Html.Action 画面の中に、まったく違う性質の情報を表示することに なった時には、これ! テンプレート機能 この型はこの表示、と決まっていたらテンプレートを 作ろう!
  • 18. おしまい たくさんのビュー機能がありましたが、 どれも、Html の制御は隠ぺいされていません。 これが、 ASP.NET MVC の利点でもあり 欠点でもあります。 次にご紹介する JavaScript 開発は、 Html 制御が可能な ASP.NET MVC だからこそ 容易にできる部分です。