私はいくつかのパラメータ(いくつかの文字列)をページから、メインページにレンダリングされる部分的なビューに渡そうとしています。これを行うために、私はRuntimeBinderExceptionを与え続けている匿名型のオブジェクトを渡しています。私が試したことを考えれば、私はエラーに驚くことはありませんが、他に何を試していいのか分かりません。部分ビューに渡された匿名型オブジェクトにアクセスするにはどうすればよいですか?
ビュー\ホーム\ PageWithPartialView.cshtml
@Html.Partial("DynamicPartialView", new { paramFromPageToPartialView = "value" })
部分図はこれを行う方法はない場合ビューは
@model dynamic // Doesn't make a difference
@{
// This is where I need to access and display the parameters
// passed from the main page
// Throws RuntimeBinderException
// Cannot apply indexing with [] to an expression of type 'object'
var try1 = Model["paramFromPageToPartialView"];
// Throws RuntimeBinderException
// 'object' does not contain a definition for 'paramFromPageToPartialView'
var try2 = Model.paramFromPageToPartialView;
}
共有\ DynamicPartialView.cshtmlを\、私は」 mオープン。部分的なビューには数百行のコードが生成されるので、カスタムHtmlHelpersは私にとっては扱いにくいようです。
2つのコードは同じアセンブリ内にありますか? –
私はそう思います...最初はViews \ Home \にあり、もう1つはViews \ Shared \にあります。例外はパーシャルビューで発生します。 –
彼らはどちらも同じプロジェクトに入っていますか?うーん。彼らが異なった集会にいたなら、私はそれを理解することができた。私はMVCの人ではありません...彼らは "早期に"コンパイルさせるためにあなたができることは何ですか? (私はライフサイクルがMVCにあるかどうかわかりません)そうすれば、彼らは本当に同じアセンブリにいるのでしょう。 –