0

この投稿リンクテキストのScottGuは、 CountryDropDownListなどにEditorTemplatesを利用する方法を示しています。私の質問は、国の動的リストをEditorTemplateに渡すにはどうすればよいですか?

4

4 に答える 4

1

さらに良いのは、部分ビューを強く型付けして、モデルをEditorForヘルパーに渡すことです。

@Html.EditorFor(m=>m.SelectedCountry, Model.AvailableCountries)
于 2011-09-14T09:31:42.690 に答える
1

おそらく最も洗練されたソリューションはカスタム属性を使用することです。後でViewData.ModelMetadataを使用してモデルメタデータにアクセスできます。

例えば:

 [Foreign(Type="DropDown", TableName="Countries")]
   public int IdCountry { get; set; }

ここで、ForeignAttributeは宣言する必要のあるクラスであり、後でそれを使用してエディターテンプレートを作成します。

于 2010-01-19T15:56:16.653 に答える
0

データが非常に頻繁に必要な場合は、ViewDataに渡し、ViewDataをActionFilterからフィードできます(ただし、アンチパターンであると主張できます)。

于 2010-01-17T14:34:56.743 に答える
0

@Benjaの答えに似ています

[AdditionaMetaData(key、value)]属性を同様の方法で使用することもできますが、独自の属性を定義する必要はありません。キーと値は文字列である必要があります。

追加のデータは、次のビューで取得できます:@ ViewData.ModelMetadata.AdditionalValues ["DropDownData"]

于 2012-11-14T23:20:28.980 に答える