現在、City と District の 2 つのクラス呼び出しがあります (それぞれ 1 対多の関係)。私の見解では、2 つのドロップダウン リストがあります。都市が選択されたときに、ビュー全体をリロードせずに、地区のドロップダウン リストにその都市の地区のみを表示するようにします。以前に Ajax を使用したことはありましたが、ViewBag ではなく、モデルのデータを再入力するためだけでした。では、Ajax と ViewBag を使用してそれを行うにはどうすればよいでしょうか。
質問する
5277 次
2 に答える
0
ViewBag 自体を再作成することはできません。
これが最善の方法かどうかはわかりませんが、次の方法で行ったでしょう。
HTML:
<div>
<select id="city">
options
</select>
</div>
<div id="district-select">
<select>
</select>
</div>
JS:
$("#city").change(function() {
var id = $(this).val();
$.ajax({
type: "GET",
url:"/CONTROLLER/GetDistrictsByCity",
data: {cityId: id},
success: function(data) {
$("#district-select").html(data);
}
});
});
アクション:
public ActionResult GetDistrictsByCity(Guid cityId){
//GET Districts that is linked to the cityId
return PartialView("_DistrictsByCity", model);
}
ビュー「_DistrictsByCity」では、作成するのはドロップダウンリストだけです。その html が取得され、「district-select」という ID を持つ div 内に配置されます
不明な点があればお知らせください
于 2013-07-27T11:15:17.077 に答える