最も良い方法は、このためにAJAXを使用することです。 change
イベントを最初の選択ボックスにフックする必要があります。変更したら、選択した値のAJAXリクエストをAction
にします。アクションはJSONリストを返します。JSONリストは解析され、次のselect box
に入れられます。
更新
JSONを返すアクションのためのモデルは本当に匿名型、またはSelectListItem
のIEnumerable
することができます。 Linq
を使用してください: `mycollection.select(item => new SelectListItem(){Name = item.Name、Value = item.ID.ToString()});
我々はページを仮定した場合、次のようになります
<form>
<select id="MainCat" name="MainCatID">
<option value="1">First option</option>
<option value="2">First option</option>
<option value="3">First option</option>
</select>
<select id="SubCat" name="SubCatID" disabled="disabled">
<option value=""> -- Please select a main category -- </option>
</select>
</form>
あなたのモデルは次のようになります。もちろん
public class MyModel {
public int MainCatID {get;set;}
public int SubCatID {get;set;}
public IEnumerable<SelectListItem> MainCats {get;set;}
}
を使用すると、検証属性を追加することができますなど
Thnaks @Gidon - 何モデルはどのように見えますか? – Craig
私の更新の回答を見てください。 – Gidon
Thnaks @Gidon - 私はドロップmoutのための苦境を持っているモデルも必要でしょう、そうですか?つまり、項目のリストとその値は、ドロップダウンに移入するのでしょうか? – Craig