私のページにドロップダウンリストとテキストボックスがあり、ドロップダウンリストをテキストボックスの変更で変更したいと思います。私はこのようなjQueryのポストを使用します。MVCのhtml.DropDownList()を動的にバインドする方法
$("#txtBuildId").change(function() { var builddate = $("#txtBuildId").val(); $.post("/UTOverview/Index?builddate=" + builddate); });
と私の指数関数は次のとおりです。
public ActionResult Index()
{
string buildDate = Request.Params.Get("builddate");
DataTable tbBuildid = DatabaseService.getBuilidByDate(buildDate);
List<SelectListItem> list = new List<SelectListItem>();
foreach (DataRow bd in tbBuildid.Rows as IEnumerable)
{
list.Add(new SelectListItem { Text = bd["buildid"].ToString(), Value = bd["buildid"].ToString() });
}
ViewData["tbbuildid"] = list;
return View();
}
しかし、私はドロップダウンリストが変更さDataViewの[「tbbuildid」]と変化しなかったことがわかりましたか?どうして ?
私は完全なポストバックのような方法でこれをやろうとします:window.location = "/UTOverview/Index?builddate=" + builddate;
これは動作します。 ViewData ["tbbuildid"]メソッドのインデックスに新しいbuilddateを投稿するたびに変更されました。しかし、どうすればAjaxの方法でこれを行うことができますか?
私はちょうどajax方法でhtml.dropdownlist()を変更する方法を知りません。私のドロップダウンリストは、データをViewData ["tbbuildid"]からバインドしました。これはテキストボックス値の変更で新しい値を持ちますが、ドロップダウンリストのデータを更新する方法を知っていますか? –