aspnetmvc @ ウィキ
http://w.atwiki.jp/aspnetmvc/
aspnetmvc @ ウィキ
ja
2016-01-18T22:12:36+09:00
1453122756
-
フォーム
https://w.atwiki.jp/aspnetmvc/pages/30.html
***o
2016-01-18T22:12:36+09:00
1453122756
-
メニュー
https://w.atwiki.jp/aspnetmvc/pages/2.html
**メニュー
-[[トップページ]]
-[[フォルダ構成]]
--[[Controller]]
---[[属性]]
--[[Model]]
---[[データモデル]]
---[[コンテキストクラス]]
---[[データイニシャライザ]]
---[[EntityFramework]]
---[[DbSet]]
--[[View]]
---[[Viewヘルパー]]
---[[レイアウト]]
---[[Razor]]
--[[/App_Data]]
--[[/App_Start]]
--[[Global.asax]]
--[[Web.config]]
-[[ルーティング]]
-[[ASP.NET MVCで定義された型]]
-[[フォーム]]
-[[入力値の検証]]
-[[モデルバインド]]
2016-01-18T22:12:05+09:00
1453122725
-
モデルバインド
https://w.atwiki.jp/aspnetmvc/pages/29.html
**コードファーストの原則
-定義されているDBを直接いじると、コンパイルエラーを吐く。コードで修正するのが正しい。
2016-01-17T18:17:31+09:00
1453022251
-
入力値の検証
https://w.atwiki.jp/aspnetmvc/pages/28.html
**流れ
+エンティティのプロパティに検証のための属性を宣言する
+
2016-01-17T18:15:45+09:00
1453022145
-
属性
https://w.atwiki.jp/aspnetmvc/pages/27.html
*メソッドの属性
**HttpPost
POSTされた時だけ実行する
**ActionName
メソッド名以外のアクション名をつけることができる
一つのアクションに対しGETとPOSTで処理を分けたい場合等に使う
*変数の属性
2016-01-03T17:02:33+09:00
1451808153
-
Viewヘルパー
https://w.atwiki.jp/aspnetmvc/pages/24.html
**型付けされたビューヘルパー
***DisplayFor
DisplayFor(model => model.property)
propertyのデータ型によって、適切な出力を行う
***HiddenFor
HiddenFor(model => model.property)
特定のプロパティを隠匿する
**フォーム関係
***BeginForm
ブロック部分を囲むようにformタグが出力される
**リンク関係
***ActionLink
ActionLink(string linkText, string actionName [, Object routeValues])
|string linkText|リンク文字列|
|string actionName|アクション名|
|Object routeValues|ルートパラメーターを格納した匿名オブジェクト|
**その他
***HttpStatusCodeResult
HttpStatusCodeResult(HttpStatusCode statusCode)
メソッドではないので、インスタンス化が必要
クライアントにステータスを通知する
statusCodeの列挙体の値によって、通知内容が変わる。
>(例:BadRequest)
> return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
>
2016-01-03T16:40:43+09:00
1451806843
-
コンテキストクラス
https://w.atwiki.jp/aspnetmvc/pages/26.html
*コントローラーでのDB操作
判例
db:コンテキストのインスタンス
member:モデル
**更新
Entryプロパティの状態をModifiedに変える
>db.Entry(member).State = EntityState.Modified
2016-01-03T16:38:07+09:00
1451806687
-
Controller
https://w.atwiki.jp/aspnetmvc/pages/13.html
|名前|Controller|
|役割|ViewとModelのつなぎ役|
|フォルダ|Controllers|
|継承元|Controller|
*アクションメソッド
**概要
クライアントのリクエストに対して処理を行うメソッド。
publicメソッドである
非staticメソッドである
基本的にオーバーロードは不可
**モデルバインド
メソッドの引数にパラメータを設定すると、リクエストデータを受け取ることができる
>(例:パラメータにidがある場合)
>public ActionResult Action(int? id){}
上記のようにnullable型を指定する
また、モデルを引数にすると、リクエストデータがそのモデルのプロパティになる
>(例)
>public ActionResult Action([Bind(Include = "Id,Name")] Member member){}
引数にBind属性を付加し、受け付けるプロパティを明示すること
**HttpPost属性
あるアクションをPOSTでのみ受け付けたい場合は、HttpPost属性を付加する
**Viewメソッド
対応するViewを表示できる。
引数にモデルを渡すと、それをViewに渡すことができる
**RedirectToActionメソッド
RedirectToResult RedirectToAction(string actionName [, string controllerName] [, Object routeValues])
別のアクションにリダイレクトする関数
2016-01-03T16:27:03+09:00
1451806023
-
DbSet
https://w.atwiki.jp/aspnetmvc/pages/25.html
本来はC#の技術だが、多用されるのでここで解説する
*概要
DBから取得したテーブル(=データモデルの集合)を表現する型である
*メソッド
**Find
Find(Object keyValue)
引数に指定した値を主キーに持つものを検索する。
複合主キーの時は複数の値を引数に入れる
2016-01-02T01:30:11+09:00
1451665811
-
データモデル
https://w.atwiki.jp/aspnetmvc/pages/21.html
データモデルとは、エンティティを定義するクラスのことである
**書き方の特徴
-POCO(Plain Old Clr Object)と言われる何の機能も持たないクラスを用いる(JavaBeansに似ている)
-文法は以下の通り
--クラス名(単数名)は、同名のテーブル(複数形)にマッピングされる
--プロパティは同名の列にマッピングされる
--主キーは「Id」またはクラス名「Id」
*プロパティに付けられる属性
2016-01-02T00:49:04+09:00
1451663344