我的页面中有一个下拉列表和一个文本框,我想通过文本框更改来更改下拉列表。我使用这样的 JQuery 帖子:
$("#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;
它有效。每次我将新的 builddate 发布到方法 index 时,ViewData["tbbuildid"] 都会发生变化。但是我怎样才能通过 Ajax 方式做到这一点?