2011-12-11 12 views
1

ARG!私は最後の2日間で18時間のように私の頭を打ち負かしています。ストーリーの泥の4インチのプールで走ろうとしていたようなものでした...私はsoooooを閉じていて、NONの結果で月曜日に歩かなければならないことを恐れていますすべての私の労働者のために...オーチャードCMS:DriverResultの表示を@modelにオーバーロードしてバインディングをサポートするにはどうしたらいいですか?

ビッグ画像:

は、私は、ユーザーが郵便番号を検討する必要があるウィジェットを持っており、これに基づいて、その地域内のイベントのリストを提供します。

GeoIpルックアップがオフの場合、またはユーザーがどこに到達してZipCodeを選択して「ポストバック」に変更するかを調べたい場合は、モジュールを再描画します。

私はウィジェットを別のDBから検索し、ウィジェットとしてうまく描画しています。

私はそれをすべて私がしたいだけのように働いて..私は私がしたいことは、私が.cshtml

@model CustomPart 

にと結合することができるものであることを

ため
protected override DriverResult Display(
     SeminarPart part, string displayType, dynamic shapeHelper) { 

ある「考える」していますしかし、どんなに私が取得私は何をすべきか - >

辞書に渡されたモデルアイテムがタイプ では「IShapeProxyabb0e4251c0b4c71bfe70f2e c47bfca4 'ですが、この辞書 には、' Blah.Blah.MoreBlah.CustomPart 'というモデルアイテムが必要です。

私はこの幸せのすべてを得ることができる場合、私は

@Html.TextBoxFor(m=>m.SelectedZipCode) 

ような何かをすることができるだろう「THINK」そして最終的に、モデルはでList<CustomData>を変更し、その結果セットをリフレッシュしますリストをモデル化して再描画する... ???


DANGDEDエディタ部分はDriverResult EditorをGETとPOST公開し、私は私がここで何ができる期待していたものをやっているようだ...誰、アイデア?

PPPPPPLLLLLLEEEEEASSEロジャー....事前に多くのおかげで、-Jamesら10-オタクドットコム...

答えて

0

@model dynamicであなたの@model CustomPartを交換してください。ビューに渡されたモデルはOrchardによってプロキシされていて、プロキシされたオブジェクトはdynamicであり、インスタンスはCustomPartではありません。

これは、Display(...)メソッドで表示されるビューにのみ適用されます。 Editor(CustomPart part, dynamic shapeHelper)メソッドで使用されるビューでは、@model CustomPartを使用する必要があります。

+0

しかし静的モデルが本当に必要なのですが、他のフォーラムのPiedoneのおかげで、私は次のことをしてモデルに実際にバインドすることができました。 プロテクトオーバーライドDriverResult表示(MYCustomPartパーツ、文字列表示タイプ、動的シェイパーヘルパー){返されるContentShape( "Parts_Seminar"、()=> shapeHelper.DisplayTemplate(TemplateName: "Parts/MYCustom"、モデル:MYCustomService。GetMYCustomData(part)、Prefix:Prefix)); – 10GeekJames

+0

あなたが解決策を見つけてうれしく思います:)どちらかがうまくいく、Piedoneのアプローチはもっと明白です。興味のないだけで、なぜあなたは特別にCustomPartを必要としますか(それはプロキシではありません)? DisplayTemplate()を直前に使用したことはありません。明示的に型指定された参照がビューにキャストされるだけで済みます(つまり、@ {var part =(CustomPart)Model;}など)。 – mdm

関連する問題