エディタテンプレートを使用して、viewModelのビューにHtml.EditorFor(property)を作成しています。「@Html.EditorFor(property)」を含む別の.cshtmlファイルがあります。
ここで、viewModelのプロパティの値に応じて、代わりにDisplayForを表示する必要があります。
EditorTemplateに条件付きロジックを追加してこれを実行しようとしましたが、そこからviewModelのプロパティにアクセスできないようです(エディターテンプレートは@viewModelではなく@ model.someOtherModelを使用しているため)。だから私が次のようなことを言うことができれば
// Razor
if(true)
{ EditorFor(property) }
else {DisplayFor(property)}
私のviewModelのビューでは、それは機能します。エディターテンプレートを定義したのと同じように、オブジェクトの「表示テンプレート」を定義する方法がわかりません。
別の解決策は、エディターテンプレートからviewModelデータにアクセスすることかもしれません...これは可能ですか?