2

モデル(またはサブモデル)がオブジェクトである場合、通常はエディターテンプレートと表示テンプレートを使用します。このようにして、いくつかのforeach構造List<T>でコードを「台無しにする」ことを避けます。

モデルがオブジェクトである場合に、エディターテンプレートと表示テンプレートを使用する方法があるかどうかを知りたいと思いました。Dictionary<K,V>

ありがとう

フランチェスコ

PS:Razorでの回答はもっとありがたいです

4

1 に答える 1

3

エディター/ディスプレイテンプレートは、ではうまく機能しませんDictionary<TKey, TValue>。個人的には、モデルバインダーの正しいフィールド名を生成することはPITAである可能性があるため、特にEditorTemplatesでこのタイプを使用することは避けています。

カスタムビューモデルを定義することをお勧めします。

public class Item
{
    public string Key { get; set; }
    public string Value { get; set; }
}

次に、IEnumerable<Item>エディター/ディスプレイテンプレートを定義するビューモデルにプロパティを設定します。それはあなたの人生をはるかに楽にします。あとは、モデルプロパティ(潜在的にはDictionary<TKey, TValue>)とビューモデルプロパティの間をマッピングするだけです。

于 2011-05-24T12:32:29.853 に答える