ASP.NET MVC (659レス)
前次1-
抽出解除 レス栞

419
(6): 2015/10/05(月)19:25 ID:??? AAS
ヴュースクリプトで使う型付きヘルパーメソッドActionLinkについて質問させてください。
引数は、一つ目(リンクテキスト)、二つ目(アクションメソッド)、三つ目(パラメーター)です。

この三つ目のパラメーターの指定では、匿名オブジェクトでプロパティーを設置して行います。
このプロパティー名は、ルートデフォルト設定の、/{contoller}/{action}/{param}で指定するパターンに書かれている名称(param)と同じである必要があるんでしょうか。
421: 2015/10/05(月)20:03 ID:??? AAS
>>420
的確なお答えありがとうございます。
(やはりつながっていたわけか。)

MVCフレームワークはいろいろ裏でつながっているので、
便利なのだろうが、察知力が必要だなと思いました。

今察知して、そうなのかなと思ったことは、
そのコントール/アクションへ制御を飛ばしてくれた「ルーティング情報」の、
/{contoller}/{action}/{param} URIパターンで使用されている名称が、
アクションメソッドから起動されたヴュースクリプト上のヘルパーメソッドに絡んでくるのかなということです。
(これは、正しいでしょうか?)
省3
425
(1): 419 2015/10/07(水)13:00 ID:??? AAS
>>422
>>424
レスありがとうございます。

>>422>実際にレンダラーに渡されるURIはこう
>>424>事実>>422のようにアクセスしても全く同じ動作をする

ちょっと見えてきました。
MVCは、URIルーティング対応でも、内部的にはクエリストリングでパラメーターを処理しているという理解をしたんですが、良いでしょうか。

>>419で、ヘルパーメソッドActionLinkの第3引数に渡した匿名オブジェクト(プロパティを構成したもの)についてですが、
そのプロパティー名が、さきのクエリストリングのKey(?Key=parameter)に当たるのだと思ってすっきりとしました。
それだと、匿名オブジェクトに構成するプロパティー名は、クエリストリングのKeyに一致させる必要があるとわかります。
省3
426: 419 2015/10/07(水)13:06 ID:??? AAS
>>425
> 匿名オブジェクトに構成するプロパティー名は、クエリストリングのKeyに一致させる必要があるとわかります。

読み返していたら、やっぱり、わからなくなりました。

URIで指定されたパラメーターが内部的に、クエリストリングで処理されていることはわかりました。
しかし、ヘルパーメソッドActionLinkで作成されるのは、URI(/A/B/パラメーター)です。
ここにはクエリストリングのKeyは登場せずに、パラメーターだけがあります。
すると、あくまでURIを作成するActionLinkの第3引数に渡すパラメーター刻印用の匿名オブジェクトで、
そのプロパティ名とパラメーター名を一致させる必要性がわかりません。
428: 419 2015/10/10(土)01:29 ID:??? AAS
>>427
すみませんレスが遅くなってしまいました。
ありがとうございます。

>ルーティングパターンが複雑化してくると意図しない物にマッチング
>一旦ハマると原因特定が困難

ActionLinkメソッドはヘルパーすぎて、動作が見えなくなるところが怖いですね。
何をしているのか仕組みが見えていないと、初心者には反ってふさわしくないのかもしれないですね。

この例では、URIのルーティングテーブルの内容によって、予期しなかった(夢にも思わなかった)リンクが生成されることで、
バグに悩まされるという問題ですね。

>Action引数に独自モデルクラスを指定できるがメンバをベタに書いても同じ動作
省2
430: 419 2015/10/16(金)06:12 ID:??? AAS
>>429
レスありがとうございます。すみません。

>ViewからクラスをActionにPOSTすることはできない
>メンバを一つ一つ指定してやる必要がある

今は、紫の本で勉強中です。ちょっとわかりません。

ビュースクリプトにモデルクラス(Object型)を渡して、ビュースクリプトないで@foreachで回して、
構造を作成できるところまで知っていますが、
逆に、コントロール側にモデルを渡す段階にまで勉強が追いついてません。
しかし、考えてみれば、ポストバックによってクライアントからデータ投げられたデータを、
受ける必要があるわけで、その仕組みのことかなと予測してみました。その場合には、メンバを一つずつ指定する必要があるということなのかな。
省7
432
(1): 419 2015/10/17(土)00:29 ID:??? AAS
>>431
なるほど。素のポストバックなんて意識しませんでしたね。
ずっと、WEBフォーム使っていたので、すべてコントロールを参照するだけでいけましたから。

そういえば、一度、HTMLの参考書でも読んでみようかな。
しかし、HTML 2についての本が本屋でよく見られます。
MVCで作成されるHTMLって、バージョン2なのかな。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.032s*