MVCチュートリアルの改修項目
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
*目次 [#wd1b8f61]
#contents
*概要 [#x8ea1779]
-MVC用のP層フレームワークに機能追加をしたり、
-[[MVCの標準化に関する情報>https://techinfoofmicrosofttec...
これに伴う、チュートリアルに対する改修予定項目を書き溜め...
*現状の設計全容 [#e5c37354]
**BeginForm [#x781b17b]
Html.BeginFormを使用している。
**モジュール化の方針 [#y8c15779]
「[[スキャフォールディング方式>https://techinfoofmicrosof...
**モジュール構成 [#ub5ffe0f]
***M:Model [#g9749f03]
Modelは作らず、Open棟梁の戻り値クラス(OrderReturnValue.c...
戻り値クラス(OrderReturnValue.cs)は、以下のpublicフィー...
-注文ID~
int OrderID
-メッセージ (画面表示用)~
string Message
-Order information (summary)~
System.Data.DataTable Orders;
-Order information (details)~
System.Data.DataTable OrderDetails;
***V:View [#t08d4cac]
-枠~
_SampleLayout.cshtml
-ビュー
--メニュー~
---path : ~/Views/Menu/Index.cshtml
---メニューを表示する。
--注文画面
---path : ~/Views/Order/Index.cshtml
---注文の一覧を表示する。
--注文明細画面~
---path : ~/Views/Order/Order.cshtml
---注文と注文明細一覧を表示する(夫々の修正フォーム込)。
-部分ビュー
--注文情報部分ビュー
---path : ~/Views/Order/_OrderInfo.cshtml
---注文明細画面の中に注文を表示する(修正フォーム込)。
--注文明細情報部分ビュー
---path : ~/Views/Order/_OrderDetailsInfo.cshtml
---注文明細画面の中に注文明細一覧を表示する(修正フォーム...
***C:Control [#u088b131]
-メニュー画面用~
MenuController.cs
-注文データ用~
OrderController.cs
--注文画面の表示
---初期表示~
url : /Order~
method : public ActionResult Index()~
---詳細表示~
url : /Order?selectedRow=X~
method : 同上~
---ページング~
url : /Order?page=X~
method : 同上~
---ソーティング~
url : /Order?sortdir=ASC&sort=XXXXX~
method : 同上~
--注文明細画面の表示
---初期表示:注文情報表示~
url : /Order/Order?OrderId=XXXXX~
method : public ActionResult Order(string OrderId)~
---注文情報更新フォーム表示~
url : /Order/GetOrderDetails?OrderId=XXXXX&g1selectedRow=X~
method : public ActionResult GetOrderDetails(int? id)~
---注文情報更新処理~
url : /Order/UpdateModel_OrderSummary~
method : [HttpPost] public ActionResult UpdateModel_Order...
---注文明細情報表示~
url : /Order/GetOrderDetails/XXXXX~
method : public ActionResult GetOrderDetails(int? id)~
---注文明細情報更新フォーム表示~
url : /Order/GetOrderDetails/XXXXX?selectedRow=X~
method : public ActionResult GetOrderDetails(int? id)~
---注文明細情報更新処理~
url : /Order/UpdateModel_OrderDetails~
method : [HttpPost] public ActionResult UpdateModel_Order...
---データベースの更新処理~
url : /Order/UpdateDatabase~
method : [HttpPost] public ActionResult UpdateDatabase()~
*改修予定項目 [#o417aa72]
**モジュール化の方針 [#e9c7c2cd]
「[[スキャフォールディング方式>https://techinfoofmicrosof...
**モジュール構成 [#x9ea01d3]
***M:Model [#ddcb3c5a]
-現状、戻り値クラスを直接、Modelとして使用しているが、~
戻り値クラスにobjectフィールドを定義、ModelフォルダにMode...
戻り値クラスのobjectフィールドを使用してModelとなるBeanを...
-また、以下の機能を活用するように実装しても良い。
--バインディング
---モデルバインディング
---双方向モデルバインディング
--DataType属性などのModelMetadataの追加
---テンプレート・ヘルパーの活用
---Validation機能の実装
***V:View [#f040d073]
-_SampleLayout.cshtml
--旧
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
@* ViewBag.Title に指定した値を画面のタイトルとする *@
<title>@ViewBag.Title</title>
@* アプリケーションで共通的な JavaScript, CSS を定義...
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.j...
<link href="~/Content/themes/base/jquery-ui.css" rel...
<link href="~/Content/themes/base/jquery.ui.all.css"...
@* ビュー側に記述可能なセクションを定義 *@
@RenderSection("scripts", required: false)
</head>
<body>
@* アプリケーションで共通的な UI 要素の例 (ここでは...
<h1>Touryo Sample</h1>
@* 各コンテンツ部分 *@
@RenderBody()
</body>
</html>
--新
@{
Layout = null;
}
@* マスタ・ページに相当 *@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
@* ViewBag.Title に指定した値を画面のタイトルとする *@
<title>@ViewBag.Title</title>
@* アプリケーションで共通的な JavaScript, CSS を定義...
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></scr...
<script src="~/Framework/Js/common.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.j...
<link href="~/Content/themes/base/jquery-ui.css" rel...
<link href="~/Content/themes/base/jquery.ui.all.css"...
<link href="~/Content/themes/base/smoothness/jquery-...
@* ビュー側に記述可能なセクションを定義 *@
@RenderSection("scripts", required: false)
<script type="text/javascript">
URL = '@Url.Action("Index", "Ping")';
</script>
</head>
<body>
@* アプリケーションで共通的な UI 要素の例 (ここでは...
<h1>Touryo Sample</h1>
@* 各コンテンツ部分 *@
@RenderBody()
</body>
</html>
***C:Control [#q41df06d]
「[[ASPXライクな1画面1モジュール方式>https://techinfoof...
-OrderController
-OrderDetailController
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
*目次 [#wd1b8f61]
#contents
*概要 [#x8ea1779]
-MVC用のP層フレームワークに機能追加をしたり、
-[[MVCの標準化に関する情報>https://techinfoofmicrosofttec...
これに伴う、チュートリアルに対する改修予定項目を書き溜め...
*現状の設計全容 [#e5c37354]
**BeginForm [#x781b17b]
Html.BeginFormを使用している。
**モジュール化の方針 [#y8c15779]
「[[スキャフォールディング方式>https://techinfoofmicrosof...
**モジュール構成 [#ub5ffe0f]
***M:Model [#g9749f03]
Modelは作らず、Open棟梁の戻り値クラス(OrderReturnValue.c...
戻り値クラス(OrderReturnValue.cs)は、以下のpublicフィー...
-注文ID~
int OrderID
-メッセージ (画面表示用)~
string Message
-Order information (summary)~
System.Data.DataTable Orders;
-Order information (details)~
System.Data.DataTable OrderDetails;
***V:View [#t08d4cac]
-枠~
_SampleLayout.cshtml
-ビュー
--メニュー~
---path : ~/Views/Menu/Index.cshtml
---メニューを表示する。
--注文画面
---path : ~/Views/Order/Index.cshtml
---注文の一覧を表示する。
--注文明細画面~
---path : ~/Views/Order/Order.cshtml
---注文と注文明細一覧を表示する(夫々の修正フォーム込)。
-部分ビュー
--注文情報部分ビュー
---path : ~/Views/Order/_OrderInfo.cshtml
---注文明細画面の中に注文を表示する(修正フォーム込)。
--注文明細情報部分ビュー
---path : ~/Views/Order/_OrderDetailsInfo.cshtml
---注文明細画面の中に注文明細一覧を表示する(修正フォーム...
***C:Control [#u088b131]
-メニュー画面用~
MenuController.cs
-注文データ用~
OrderController.cs
--注文画面の表示
---初期表示~
url : /Order~
method : public ActionResult Index()~
---詳細表示~
url : /Order?selectedRow=X~
method : 同上~
---ページング~
url : /Order?page=X~
method : 同上~
---ソーティング~
url : /Order?sortdir=ASC&sort=XXXXX~
method : 同上~
--注文明細画面の表示
---初期表示:注文情報表示~
url : /Order/Order?OrderId=XXXXX~
method : public ActionResult Order(string OrderId)~
---注文情報更新フォーム表示~
url : /Order/GetOrderDetails?OrderId=XXXXX&g1selectedRow=X~
method : public ActionResult GetOrderDetails(int? id)~
---注文情報更新処理~
url : /Order/UpdateModel_OrderSummary~
method : [HttpPost] public ActionResult UpdateModel_Order...
---注文明細情報表示~
url : /Order/GetOrderDetails/XXXXX~
method : public ActionResult GetOrderDetails(int? id)~
---注文明細情報更新フォーム表示~
url : /Order/GetOrderDetails/XXXXX?selectedRow=X~
method : public ActionResult GetOrderDetails(int? id)~
---注文明細情報更新処理~
url : /Order/UpdateModel_OrderDetails~
method : [HttpPost] public ActionResult UpdateModel_Order...
---データベースの更新処理~
url : /Order/UpdateDatabase~
method : [HttpPost] public ActionResult UpdateDatabase()~
*改修予定項目 [#o417aa72]
**モジュール化の方針 [#e9c7c2cd]
「[[スキャフォールディング方式>https://techinfoofmicrosof...
**モジュール構成 [#x9ea01d3]
***M:Model [#ddcb3c5a]
-現状、戻り値クラスを直接、Modelとして使用しているが、~
戻り値クラスにobjectフィールドを定義、ModelフォルダにMode...
戻り値クラスのobjectフィールドを使用してModelとなるBeanを...
-また、以下の機能を活用するように実装しても良い。
--バインディング
---モデルバインディング
---双方向モデルバインディング
--DataType属性などのModelMetadataの追加
---テンプレート・ヘルパーの活用
---Validation機能の実装
***V:View [#f040d073]
-_SampleLayout.cshtml
--旧
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
@* ViewBag.Title に指定した値を画面のタイトルとする *@
<title>@ViewBag.Title</title>
@* アプリケーションで共通的な JavaScript, CSS を定義...
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.j...
<link href="~/Content/themes/base/jquery-ui.css" rel...
<link href="~/Content/themes/base/jquery.ui.all.css"...
@* ビュー側に記述可能なセクションを定義 *@
@RenderSection("scripts", required: false)
</head>
<body>
@* アプリケーションで共通的な UI 要素の例 (ここでは...
<h1>Touryo Sample</h1>
@* 各コンテンツ部分 *@
@RenderBody()
</body>
</html>
--新
@{
Layout = null;
}
@* マスタ・ページに相当 *@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
@* ViewBag.Title に指定した値を画面のタイトルとする *@
<title>@ViewBag.Title</title>
@* アプリケーションで共通的な JavaScript, CSS を定義...
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script src="~/Scripts/jquery-ui-1.9.2.min.js"></scr...
<script src="~/Framework/Js/common.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.j...
<link href="~/Content/themes/base/jquery-ui.css" rel...
<link href="~/Content/themes/base/jquery.ui.all.css"...
<link href="~/Content/themes/base/smoothness/jquery-...
@* ビュー側に記述可能なセクションを定義 *@
@RenderSection("scripts", required: false)
<script type="text/javascript">
URL = '@Url.Action("Index", "Ping")';
</script>
</head>
<body>
@* アプリケーションで共通的な UI 要素の例 (ここでは...
<h1>Touryo Sample</h1>
@* 各コンテンツ部分 *@
@RenderBody()
</body>
</html>
***C:Control [#q41df06d]
「[[ASPXライクな1画面1モジュール方式>https://techinfoof...
-OrderController
-OrderDetailController
ページ名: