ASP.NET MVC (659レス)
ASP.NET MVC http://medaka.5ch.net/test/read.cgi/php/1331013877/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
420: nobodyさん [sage] 2015/10/05(月) 19:36:45.82 ID:??? ある そう書きたくなければHTMLのAタグ使え http://medaka.5ch.net/test/read.cgi/php/1331013877/420
421: nobodyさん [sage] 2015/10/05(月) 20:03:59.82 ID:??? >>420 的確なお答えありがとうございます。 (やはりつながっていたわけか。) MVCフレームワークはいろいろ裏でつながっているので、 便利なのだろうが、察知力が必要だなと思いました。 今察知して、そうなのかなと思ったことは、 そのコントール/アクションへ制御を飛ばしてくれた「ルーティング情報」の、 /{contoller}/{action}/{param} URIパターンで使用されている名称が、 アクションメソッドから起動されたヴュースクリプト上のヘルパーメソッドに絡んでくるのかなということです。 (これは、正しいでしょうか?) 上の例(>>419)では、デフォルトルーティング設定が使用されたので、 デフォルトルートのURIパターンで指定された名称が使われたのかなと思いました。 すみません、ありがとうございます。 http://medaka.5ch.net/test/read.cgi/php/1331013877/421
422: nobodyさん [sage] 2015/10/05(月) 20:19:34.22 ID:??? つながっているというかだ 実際にレンダラーに渡されるURIはこう /{controller}/{action}?{param}=○○ モデルバインドで同名変数にクエリパラツッコむ関係上こうなるしかない訳 http://medaka.5ch.net/test/read.cgi/php/1331013877/422
423: nobodyさん [sage] 2015/10/06(火) 02:09:46.86 ID:??? >>422 >つながっているというかだ すみません、この意味がつかめません。、 前後の文脈も大切にしたいので、お願いします。 http://medaka.5ch.net/test/read.cgi/php/1331013877/423
424: nobodyさん [sage] 2015/10/06(火) 15:40:45.38 ID:??? つながっていると言うと密結合を意味しているように取れる MVCはURL階層ルーティングができるのが売りだが、それはクエリ方式にマッピングしているだけで 事実>>422のようにアクセスしても全く同じ動作をする 密結合ならこんな途中入りはできない MVCはこんなように○○に見えるけど実際はXXに変換してるだけ、てのが多い この辺の考え方はモデルバインドで効いてくるから覚えとくといいぞ http://medaka.5ch.net/test/read.cgi/php/1331013877/424
425: 419 [sage] 2015/10/07(水) 13:00:13.43 ID:??? >>422 >>424 レスありがとうございます。 >>422>実際にレンダラーに渡されるURIはこう >>424>事実>>422のようにアクセスしても全く同じ動作をする ちょっと見えてきました。 MVCは、URIルーティング対応でも、内部的にはクエリストリングでパラメーターを処理しているという理解をしたんですが、良いでしょうか。 >>419で、ヘルパーメソッドActionLinkの第3引数に渡した匿名オブジェクト(プロパティを構成したもの)についてですが、 そのプロパティー名が、さきのクエリストリングのKey(?Key=parameter)に当たるのだと思ってすっきりとしました。 それだと、匿名オブジェクトに構成するプロパティー名は、クエリストリングのKeyに一致させる必要があるとわかります。 URI形式で、無骨に、/A/B/文字列 でアクセスするクライアントサイドの側からは、クエリストリングのKeyの存在は見えないため、混乱していました。 >>424>こんなように○○に見えるけど実際はXXに変換してるだけ、てのが多い パラメーターのクエリストリングへの変換以外に、何があるのか気になります。 http://medaka.5ch.net/test/read.cgi/php/1331013877/425
426: 419 [sage] 2015/10/07(水) 13:06:23.49 ID:??? >>425 > 匿名オブジェクトに構成するプロパティー名は、クエリストリングのKeyに一致させる必要があるとわかります。 読み返していたら、やっぱり、わからなくなりました。 URIで指定されたパラメーターが内部的に、クエリストリングで処理されていることはわかりました。 しかし、ヘルパーメソッドActionLinkで作成されるのは、URI(/A/B/パラメーター)です。 ここにはクエリストリングのKeyは登場せずに、パラメーターだけがあります。 すると、あくまでURIを作成するActionLinkの第3引数に渡すパラメーター刻印用の匿名オブジェクトで、 そのプロパティ名とパラメーター名を一致させる必要性がわかりません。 http://medaka.5ch.net/test/read.cgi/php/1331013877/426
427: nobodyさん [sage] 2015/10/07(水) 14:50:42.62 ID:??? ActionLinkは生成時にRouteを逆引きしているらしく、マッチングにクエリ文字列も使っているらしい ルーティングパターンが複雑化してくると意図しない物にマッチングすることがある 単純パターンのみなら不一致でも動くことが多いが、一旦ハマると原因特定が困難になる まあ一度地獄を見てみるのもいいぞ 何事も経験だ ○○に見えるけど〜の典型例はモデルバインド ControllerのAction引数に独自モデルクラスを指定できるが メンバをベタに書いても同じ動作をする public class HageModel{ public string hage{get;set;} public int hoge{get;set;} } public ActionResult Index(HageModel hg) これと public ActionResult Index(string hage,int hoge) は同じ http://medaka.5ch.net/test/read.cgi/php/1331013877/427
428: 419 [sage] 2015/10/10(土) 01:29:11.53 ID:??? >>427 すみませんレスが遅くなってしまいました。 ありがとうございます。 >ルーティングパターンが複雑化してくると意図しない物にマッチング >一旦ハマると原因特定が困難 ActionLinkメソッドはヘルパーすぎて、動作が見えなくなるところが怖いですね。 何をしているのか仕組みが見えていないと、初心者には反ってふさわしくないのかもしれないですね。 この例では、URIのルーティングテーブルの内容によって、予期しなかった(夢にも思わなかった)リンクが生成されることで、 バグに悩まされるという問題ですね。 >Action引数に独自モデルクラスを指定できるがメンバをベタに書いても同じ動作 まだ理解が追いついていなくて、アクションメソッド内で、Viewメソッドを用いることで、ヴュースクリプトを起動してそこに、モデルオブジェクトを渡せるくらいしか知りません。 アクションメソッド自体に、モデルを渡すとどうなるんだろう??? http://medaka.5ch.net/test/read.cgi/php/1331013877/428
429: nobodyさん [sage] 2015/10/13(火) 17:39:10.46 ID:??? やってみると分かるが、ViewからクラスをActionにPOSTすることはできない メンバを一つ一つ指定してやる必要がある それらをモデルクラスのプロパティ名とマッチングして代入して引渡まではライブラリ側でやってくれる モデルクラスにないものを指定するとルーティングでアンマッチと見なされる 逆にモデルにあってクエリになくても数値型以外は省略可能なのでマッチする http://medaka.5ch.net/test/read.cgi/php/1331013877/429
430: 419 [sage] 2015/10/16(金) 06:12:18.18 ID:??? >>429 レスありがとうございます。すみません。 >ViewからクラスをActionにPOSTすることはできない >メンバを一つ一つ指定してやる必要がある 今は、紫の本で勉強中です。ちょっとわかりません。 ビュースクリプトにモデルクラス(Object型)を渡して、ビュースクリプトないで@foreachで回して、 構造を作成できるところまで知っていますが、 逆に、コントロール側にモデルを渡す段階にまで勉強が追いついてません。 しかし、考えてみれば、ポストバックによってクライアントからデータ投げられたデータを、 受ける必要があるわけで、その仕組みのことかなと予測してみました。その場合には、メンバを一つずつ指定する必要があるということなのかな。 勉強つづけます。 一つずつ抑えていますが、行間を読んでいって初めて理解するので、時間がかかります。 とくに、MVCはモデルやURIルーティングパターンを中心にして、クエリパラメーターをアクションメソッドの同名の引数に渡すなど、自動でやってくれるので、 理解が大変です。 これまでは、メソッドの引数定義の変数名なんてメソッド外部からは気にしたことありませんでしたが、MVCはそこまでC#を活用しています。 こういうことかな?こういうことだろうか?と行間を読むのは、でも楽しいかもしれません。 また何かあればよろしくお願いいたします。 http://medaka.5ch.net/test/read.cgi/php/1331013877/430
431: nobodyさん [sage] 2015/10/16(金) 13:13:53.05 ID:??? ぶっちゃけた話 素のGET/POSTの仕組みを知ってからの方が数段理解が速いぞ ASP.NET2.0あたりとは設計思想が全く異なるから http://medaka.5ch.net/test/read.cgi/php/1331013877/431
432: 419 [sage] 2015/10/17(土) 00:29:49.59 ID:??? >>431 なるほど。素のポストバックなんて意識しませんでしたね。 ずっと、WEBフォーム使っていたので、すべてコントロールを参照するだけでいけましたから。 そういえば、一度、HTMLの参考書でも読んでみようかな。 しかし、HTML 2についての本が本屋でよく見られます。 MVCで作成されるHTMLって、バージョン2なのかな。 http://medaka.5ch.net/test/read.cgi/php/1331013877/432
433: nobodyさん [sage] 2015/10/17(土) 04:09:03.94 ID:??? >>432 素のポストバックって、ポストバックはASP.NETの機能であって、言うなら素の POST htmlのバージョンで悩む以前に httpというプロトコルを勉強した方がいい http://medaka.5ch.net/test/read.cgi/php/1331013877/433
434: nobodyさん [sage] 2015/10/17(土) 17:45:30.43 ID:??? ASP.NETっていうか、WEBフォームの機能だろ 普通MVCでポストバックとは言わない(使わない)だろ しかし、どう調べたら今時のhtmlがバージョン2とかいう事になるんだか 異世界の本屋か数の数え方の違う世界かね http://medaka.5ch.net/test/read.cgi/php/1331013877/434
435: nobodyさん [sage] 2015/10/17(土) 19:39:00.07 ID:??? >>434 あっ!HTML5か。 http://medaka.5ch.net/test/read.cgi/php/1331013877/435
436: nobodyさん [sage] 2015/10/18(日) 05:09:54.34 ID:??? httpは2が来つつあるからごっちゃになったんじゃね でも本当、MVCだけ勉強しても上っ面しかわからないと思うよ それしか理解してなかったら割とすぐ行き詰まるんじゃないかな 大体もしASP.NET MVCがディスコンになったらどうするつもりだよ http://medaka.5ch.net/test/read.cgi/php/1331013877/436
437: nobodyさん [sage] 2015/10/18(日) 07:12:33.84 ID:??? >>436 MVCせっかく勉強しているのに、それは勘弁。 今後も末永く、通用する技術じゃないんですか。 WEBフォームは、一通り勉強して、簡単なアプリなら作れるようになりました。 それなのに、MVCが主流になっちゃって。 >MVCだけ勉強しても上っ面しかわからない 自分は、逆で、html 5や、java script関連のクライアントサイド技術を直に扱った書籍を見かけると、まとまりのないように感じました。 材木が散乱している感じ。 まずは、MVCを理解してメインとして、必要に応じて、それらの「素」の技術を理解しようと考えました。 CSSについても、WEBフォームアプリを作りながら、デザインにも凝りたいと考えて、必要に応じて追加で勉強した感じです。 http://medaka.5ch.net/test/read.cgi/php/1331013877/437
438: nobodyさん [sage] 2015/10/18(日) 08:30:18.06 ID:??? >>437 WebフォームがオワコンでMVCが主流ってわけじゃないぞ。 社内向けのアプリだとまだまだWebフォームの方が有利だろ。 >自分は、逆で、html 5や、java script関連のクライアントサイド技術を直に扱った書籍を見かけると、まとまりのないように感じました。 そんなんじゃなくてHTTP POST/GETの仕組み。 一度、c言語でフルスクラッチのCGIアプリでも組んで修行をしなおせwww http://medaka.5ch.net/test/read.cgi/php/1331013877/438
439: nobodyさん [sage] 2015/10/18(日) 09:32:52.81 ID:??? >>437 Web開発は、html, css, js, C#, .NET Framework, Entity Framework, ASP.NETの知識など いろんな技術の寄せ集めだから、積み上げていくしかないな >>438 Cなんて回り道しなくても、C#やPHPのserver sideのプログラミング書籍に HTTPの基礎くらいは解説されてるでしょ http://medaka.5ch.net/test/read.cgi/php/1331013877/439
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 220 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s