【发布时间】:2012-06-12 23:51:17
【问题描述】:
我的页面中有一个下拉列表和一个文本框,我想通过更改文本框来更改下拉列表。我使用这样的 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 方式做到这一点?
【问题讨论】:
标签: jquery asp.net-mvc html.dropdownlistfor