asp.net mvc5で、use@html.dropdownListforドロップダウンテーブルの選択として配列値を処理する
ASP.NET MVC 5では、補助法を使用して、モデルの属性のドロップダウンリストをレンダリングします。ただし、アレイの値またはモデルの設定に基づいて、ドロップダウンリストの選択値を設定する必要がある場合があります。
次の例を考えてみましょう
この例では、属性は@Html.DropDownListFor()
オブジェクトの配列です。配列内の最初の要素の
属性に従って、ドロップダウンリストの選択値を設定したいと考えています。
ただし、次のコードを使用してドロップダウンリストの選択値を設定しようとする場合:
<code class="language-csharp">@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })</code>
エラーが発生します。これは、4番目のパラメーターが文字列であるが、Configurations
属性がバイトタイプであることをAggregationLevelConfiguration
コンストラクターが期待するためです。 Configurations
HelperCodeType
この問題を解決するために、次の2つの方法のいずれかを使用できます。
メソッド1:editortemplate を使用します
<code class="language-csharp">new SelectList(Model.HelperCodeTypeItems, "Id", "Name", Model.Configurations[0].HelperCodeType)</code>
タイプに対してカスタムを作成します。 では、補助方法を使用して、ドロップダウンリストをSelectList
属性としてレンダリングできます。また、属性に従ってドロップダウンリストの選択値を設定することもできます。 Model.Configurations[0].HelperCodeType
たとえば、
ドロップダウンリストの選択値をオブジェクトの属性に設定してください:
方法2:新しいselectlistを生成
この方法では、配列内の各要素の新しいAggregationLevelConfiguration
オブジェクトを生成します。次に、現在の要素のEditorTemplate
属性に従って、ドロップダウンリストの選択値を設定できます。 EditorTemplate
たとえば、@Html.DropDownListFor()
次のコードは、配列内の配列内の各要素の新しいHelperCodeType
オブジェクトを生成します。
Model.HelperCodeType
両方の方法を使用すると、モデル内のアレイまたはコレクションの値に基づいて、ドロップダウンリストの選択値を設定できます。 以上がASP.NET MVC5 @html.DropDownListの値を選択する方法は、値が配列にあるときに?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。