私の ASP MVC3 サイトの編集ページには、各モデル アイテムに関連付けられたエージェントの動的な数を処理するコードの一部があります。以下のコードは、表示するテーブル行の正確な量を作成するために使用されます
@for (int i = 0; i < Model.Fixed.Count; i++)
{
if(!String.IsNullOrWhiteSpace(Model.Fixed[i].AgentId))
{
<tr>
<td>
@Html.DropDownListFor(model => model.Fixed[i].StateCode,
(SelectList)ViewBag.StateCodeList)
</td>
<td>
@Html.EditorFor(model => model.Fixed[i].AgentId)
@Html.ValidationMessageFor(model => model.Fixed[i].AgentId)
</td>
</tr>
}
}
残念ながら、各エージェントに関連付けられたプロパティの状態コードを表示する方法がわかりません。現在、このコードは、ドロップダウン リストの値の設定を扱うコントローラー内の唯一の領域です。
SelectList tmpList = new SelectList(new[] { "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA", "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NA", "NM", "NY", "NC", "ND", "MP", "OH", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "US", "VT", "VI", "VA", "WA", "WV", "WI", "WY" });
ViewBag.StateCodeList = tmpList;
0 から 100 のエージェントが存在する可能性があるため、特定のエージェントに関連付けられた適切な状態コードがそれぞれのドロップダウン ボックスに表示されるという問題が発生しています。