フィールドのテーブルを表示するカスタムタイプの代替ビューを作成しています。ほとんどのフィールドは次のような形式で表示されます:代替のビューにフィールドを埋め込む
@Display(Model.ContentItem.CustomType.CustomField.Value)
しかし、いくつかのフィールドは完全なフィールドビューを持つことをお勧めします。たとえば、フィールド値自体の横にアドレスをpingした結果を表示するIPアドレスフィールド。
@Display.Fields_CustomField(Model.ContentItem.CustomType.Address)
が、モデル値で、そのコールの結果は、このような代わりModel.ContentField.Valueを呼び出すために必要ように、ドライバを介して表示されたときよりも異なっている:
私はこの形状を使用して表示することができることを見出しModel.Valueの。
var model = Model.ContentField ?? Model;
var settings = Model.Settings ?? Model.PartFieldDefinition.Settings;
し、その後、より複雑なチェック:
bool customFieldSetting = settings.GetType() == typeof(CustomFieldSettings) ?
settings.CustomSetting :
bool.Parse(settings["CustomFieldSettings.CustomSetting"]);
は私のカスタムフィールドは、これらの値の複数の場所を確認するために書き換えることができますが、このロジックを持つ多くのフィールドを変更したときには不便なソリューションです。
シェイプのフィールドを完全に表示する方法はありますか?
私はあなたが具体的に配置を定義できるかどうか分かりませんでした。 Column1のようなものはどのように定義されていますか? – ub3rman123
実際の定義はありません。Column1の形状を表示するだけです – Hazza
これはhttp://arkleseizure.net/what-the-hell-is-an-item-templateに役立ちます – Hazza