MVCチュートリアルのPOCO対応について
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-戻る
--[[リリース情報]]
--[[機能一覧 - 共通部品群]]
*目次 [#j12868f0]
#contents
*概要 [#xc7b824c]
現時点のMVCチュートリアルは、
-Tutorial_MVC_CSharp.ja · OpenTouryoProject/OpenTouryo Wi...
https://github.com/OpenTouryoProject/OpenTouryo/wiki/Tuto...
--EntityにDataSet、DataTableを使用している。
--そのため、Model Binding + DataAnnotationを使用していな...
と言った、少々、古いスタイルの実装となっています。
*チュートリアルの変更点 [#pcad8acc]
以下の様に、最近の一般的な実装に変更可能です。
-Model Binding + DataAnnotation の MVVMスタイルに変更しま...
-変更内容は、下記のそれぞれのディレクトリのDiffを確認して...
--MVC_Sample_20181003
--MVC_Sample_20181003_poco
--MVC_Sample_20190627_mvvm
**オリジナルのチュートリアル [#e1e2bb95]
チュートリアルを遂行して出来上がったサンプル
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
**EntityのPOCO化 [#ecc1b3c0]
[[POCO変換部品>機能一覧 - 共通部品群#r9af4f09]]を使用して...
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
**Model Bindingの利用 [#x8c165a1]
[[EntityのPOCO化>#ecc1b3c0]]を行った後に、[[Model Binding...
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
※ なお、ViewModelに[[DataAnnotation>https://techinfoofmic...
これについては、[[コチラ>https://github.com/OpenTouryoP...
*Model Binding + DataAnnotation [#e74d877e]
**[[Model Binding>https://techinfoofmicrosofttech.osscons...
***単方向と双方向バインディング [#h6ebec1a]
-単方向バインディングは、単に、
--クライアントから送信されてきたデータのキー名と、~
--ControllerのAction Methodの引数名とが一致するキー値を
>探して、バインドすると言う機能。
-双方向バインディングを使用して、~
Viewにバインドて、ViewからControllerにPOSTすると、~
Web FormsのPostBackのような動作を容易に実装可能。
***双方向バインディングの実装方法 [#f410f9f3]
-ViewModelを定義する。
-これをControllerからViewに渡して、Html.xxxxForでバインド。
-Viewから、ControllerへのPOSTをViewModelで受ける。
**DataAnnotation [#g1ab409f]
また、以下のようにViewModelを定義すれば~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-単項目チェックや
-ラベル表示(国際化対応)も
属性(アノテーション)によって、容易に実装可能。
*Controller作成の単位 [#e5deb391]
基本的には、「[[モジュール化の要約>https://techinfoofmicr...
-[[画面単位(全体View ごとに Controller を作成する方式>#m...
-[[機能、CRUD単位(機能やデータ構造に対して 1 つの Contro...
がある。[[オリジナルのチュートリアル>#e1e2bb95]]では、後...
**画面単位 [#mc8cb5e9]
-Web Formsと同じで解り易い。
-大規模ではコチラが適合する。
**機能、CRUD単位 [#kfe296c6]
以下の場合は、コチラ。
-複雑な画面を開発する。
-スキャフォールディングで画面を開発する。
*参考 [#r2c9efe8]
**[[MVCチュートリアルの改修項目]] [#vc091f0b]
**マイクロソフト系技術情報 Wiki [#b1b0ea1e]
-ASP.NET MVC~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
--ASP.NET MVCの用語~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
--ASP.NET MVCの利用方法~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-戻る
--[[リリース情報]]
--[[機能一覧 - 共通部品群]]
*目次 [#j12868f0]
#contents
*概要 [#xc7b824c]
現時点のMVCチュートリアルは、
-Tutorial_MVC_CSharp.ja · OpenTouryoProject/OpenTouryo Wi...
https://github.com/OpenTouryoProject/OpenTouryo/wiki/Tuto...
--EntityにDataSet、DataTableを使用している。
--そのため、Model Binding + DataAnnotationを使用していな...
と言った、少々、古いスタイルの実装となっています。
*チュートリアルの変更点 [#pcad8acc]
以下の様に、最近の一般的な実装に変更可能です。
-Model Binding + DataAnnotation の MVVMスタイルに変更しま...
-変更内容は、下記のそれぞれのディレクトリのDiffを確認して...
--MVC_Sample_20181003
--MVC_Sample_20181003_poco
--MVC_Sample_20190627_mvvm
**オリジナルのチュートリアル [#e1e2bb95]
チュートリアルを遂行して出来上がったサンプル
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
**EntityのPOCO化 [#ecc1b3c0]
[[POCO変換部品>機能一覧 - 共通部品群#r9af4f09]]を使用して...
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
**Model Bindingの利用 [#x8c165a1]
[[EntityのPOCO化>#ecc1b3c0]]を行った後に、[[Model Binding...
-https://github.com/daisukenishino2/SupportOpenTouryopPJ/...
※ なお、ViewModelに[[DataAnnotation>https://techinfoofmic...
これについては、[[コチラ>https://github.com/OpenTouryoP...
*Model Binding + DataAnnotation [#e74d877e]
**[[Model Binding>https://techinfoofmicrosofttech.osscons...
***単方向と双方向バインディング [#h6ebec1a]
-単方向バインディングは、単に、
--クライアントから送信されてきたデータのキー名と、~
--ControllerのAction Methodの引数名とが一致するキー値を
>探して、バインドすると言う機能。
-双方向バインディングを使用して、~
Viewにバインドて、ViewからControllerにPOSTすると、~
Web FormsのPostBackのような動作を容易に実装可能。
***双方向バインディングの実装方法 [#f410f9f3]
-ViewModelを定義する。
-これをControllerからViewに渡して、Html.xxxxForでバインド。
-Viewから、ControllerへのPOSTをViewModelで受ける。
**DataAnnotation [#g1ab409f]
また、以下のようにViewModelを定義すれば~
https://github.com/OpenTouryoProject/MultiPurposeAuthSite...
-単項目チェックや
-ラベル表示(国際化対応)も
属性(アノテーション)によって、容易に実装可能。
*Controller作成の単位 [#e5deb391]
基本的には、「[[モジュール化の要約>https://techinfoofmicr...
-[[画面単位(全体View ごとに Controller を作成する方式>#m...
-[[機能、CRUD単位(機能やデータ構造に対して 1 つの Contro...
がある。[[オリジナルのチュートリアル>#e1e2bb95]]では、後...
**画面単位 [#mc8cb5e9]
-Web Formsと同じで解り易い。
-大規模ではコチラが適合する。
**機能、CRUD単位 [#kfe296c6]
以下の場合は、コチラ。
-複雑な画面を開発する。
-スキャフォールディングで画面を開発する。
*参考 [#r2c9efe8]
**[[MVCチュートリアルの改修項目]] [#vc091f0b]
**マイクロソフト系技術情報 Wiki [#b1b0ea1e]
-ASP.NET MVC~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
--ASP.NET MVCの用語~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
--ASP.NET MVCの利用方法~
https://techinfoofmicrosofttech.osscons.jp/index.php?ASP....
ページ名: