Controlsが含まれてます。System.Web.UI.Controlクラスの派生クラスとして作成されてるので、WebFormsで使うサーバーコントロールと同じですね。Lifecycleの中でコントロールツリーとして生成されるサーバーコントロールです。Futuresに含まれるコントロールは以下の7つ。LabelTextBoxPasswordHiddenDropDownListActionLinkRepeaterはて、ナゼMVCにこれらサーバーコントロールが含まれてるんだろう(Futuresだけど)。ポストバック(ASP.NETの)もViewStateも無いので、ポストバックされた後のコントロールツリー構築なんてことは発生しない(そもそもポストバック先がPageじゃなくてControllerなんだから)し、かといって、積極的にコントロールツリーを構築してからレンダリングするなんてことは全然見通しのいい完全制御出来るHTMLとは言い難い(オレはサーバーコントロールのレンダリング結果を完全に把握してるぜ!という話じゃなくてデス)。考えられる理由は、<%~%>での埋め込みコードを減らして、見やすくしようという意図なのかな~、と推測してます。理由なんてどーでもいいんですけど。Blog↑こちらでしっかりと紹介されてます。試しに使って見ましょう。MVCのプロジェクトを新規に作成し、プロジェクトの参照設定にMicrosoft.Web.Mvcを追加しましょう。続いて、web.configの設定をしておきます。...</system.web>上記太字の部分、サーバーコントロールのプレフィックス登録と、ページでのネームスペース登録。これをやっておかないと記入が面倒なことになるので忘れずに。HomeControllerのIndexアクションで出力用のデータをViewDataにセットしておきます。}}ViewDataにテキストを入れて渡す方法と、Viewへ匿名クラスを直接渡す方法を書いておきます。匿名クラスも簡単に取り出せるのを覚えておくとちょっと便利です。これらを表示するタメにViews/Home/Index.aspxにコードを追加します。</p></asp:Content>サーバーコントロールなのでrunat="server"を忘れずに。Nameで指定したのがエレメントのName属性にセットされるのと同時にViewDataから同名の値を取得して展開してくれます。これで出力されるHTMLは↓こうなります。</p>匿名クラスの値がそのまま展開されてますね。これは内部でViewData.Eval(データーキー)を呼び出してるからです。Controls特有の動きというわけではなく、自分でも普通に同じ方法で値を取得出来ます。Viewに以下のようなコードを書いてみます。</p>これは以下のようなHTMLとして展開されます。</p>匿名クラスの場合、Modelのクラスが不明なので、インテリセンスでの取得は出来ないですけど、Evalを使う事で取得は出来ます。Modelクラスを書くほどでも無いけどViewDataをそのまま参照するのもコード見にくい、なんて時)でもユーザーコントロール内でViewData.Eval()で取得出来るので、何かと便利だったりします。ちなみにこのmvc:LabelコントロールにはTruncateLengthとTruncateTextなんていうプロパティがあって、コレを指定することで自動で長い文字列をカットしてくれます。先ほどのLabelの部分を以下のように書き換える。</p>そうすると5文字にカットしてサフィックスをくっつけてくれます。HTMLは↓こうなります。</p>TruncateTextは初期値として"..."がセットされてるので、何も指定しなければ今回の例でいうと「ラベルに表...」となります。FormsのRepeaterと同じように動くので、繰り返しをforeachで書きたくないなんて場合は利用するのもいいんじゃないかな。DataSource指定やDataBind()はしないのでコードビハインドも不要です。今後いろんなコントロールが出てくるかもしれないね。MVC最近のお気に入りBluetoothスピーカー。ボディーでお気に入り。PC本体のスピーカーだとシャリシャリ感が気になるし、あんまり音も大きくならないもんね。ヘッドホンも聞きやすくていいんだけど、いちいち線をつなげて、耳に当ててとかっていうのが面倒。移動するとき外すのも面倒だし。音楽を聴いたりするわけじゃないから、音質はそんなに気にならないよ。ハンズフリーのプロファイル(?)は削除しとかないとなんか調子悪かった。家電・カメラでろ~ん。スライムじゃないよ~。Cleanっていう製品(スライムだな...)。こないだハンズで売ってるのを見かけて買っちゃった。しないし、ちゃんとゴミを吸着してくれるし、なんか楽しいし。Division)前回の反省を生かし、今回の試合では前半から強気の攻めで、試合の流れを持ってくることを心がけよう。そんな目標を事前に立てての試合。試合前にはメンバーが全然集まって無くて唖然としたけど、試合始まる直前にはなんとか2セット揃ってホッとした。目標を立てたのに人がいないことにアワアワし過ぎて、すっかり目標のことを忘れちゃってたよ。前半からガンガンがんばれ作戦っていうこともあって、セットの組み合わせも1stタケ・ミズ・セト、2ndオグ・シゴ・ミチと今期から参加のシンタローと組むことになり、走りまくらなきゃいけない予感。前回の試合で走らなすぎたら見方からのブーイングで心折れそうになったのを思いだし、今回はちゃんと最初から攻め気も見せつつプレーしなきゃね。珍しくイマイちゃんとユミちゃんがいないおかげで5メンズ1ウーマン。オニャノコいないと、ブラスではブーイングがでちゃうS40なんだけど...。そんなこと心配してもしょうがね。試合開始するまで全然気がつかなかったけど、開始2分で3点...。いや、得点できることはいいんだけど、いくらなんでもおかしい。そんなアッサリ目標通り得点できるなんておかしすぎる。相手ゴーリーをよくよく見てみると、なんかスケーティングがゴーリーのそれとは違う。横移動も前後移動もままならない感じで、ほぼゴールライン上で微動だにしてない。プレーヤーゴーリー?ちゃんとオスギに確認しとけば良かったけど、試合は始まっちゃってるし、相手ベンチに「ゴーリーの人プレーヤー?」なんて聞けるわけもなく。そのまま、前半から攻め続けて、と言うか我守らずを全員がモットーとしてるんじゃないのかってくらいの守備放棄。カネコさんが初戦に引き続いての鉄壁っぷりを発揮してくれてたからよかったものの。そんな流れで8-0で前半終了。外野からのブーイングが気になる...。後半も相変わらずノーガード。守りきれず目の前でリバウンドを叩かれて失点。自分の目の前っていうのが責任感じる。守ってたのに守ってなかったんじゃないのかっていう失点の仕方だったのが余計にたちが悪い。それでも、攻めに攻めて得点を重ねるんだけど、終了間際にまたしても自分がリンクに乗ってるときに失点...。なんかもう、プレーオフの時からそうだけど、こうも終了間際の失点が続くと切なくなるね。試合終了後、オスギに確認したら、急遽ゴーリーがこれなくなったそうで、プレーヤーがゴーリーをしてたんだそうな。単純に得点しまくってたのはそんな理由からですよ。17-2と勝ったはいいけど全然勝った気もせず。失点には常に絡む自分を励ましたい。今回の試合では自陣ベンチからのブーイングがなかったものの、外野からのブーイングが炸裂。日曜に戸塚に行っても「昨日アメージングに鬼が出た」だの「悪魔っているんだね」だの、さんざんな言われよう。これからは演技派を目指そう。必死のプレーでゴール前でこけるとか、シュートをカラぶるとか、見てて一生懸命なのは伝わるけど、コレといって活躍しないっていう...。それしか、自分を守る方法が思いつかない。Forums↑ここで発見。