1
我有一个显示正确数据的jQuery自动选择框。现在我想在选择一个项目时触发一个ASP.NET MVC 3控制器。控制器应该重定向到一个View。这里是我的jQuery自动完成代码(我敢肯定有些东西被省略第二个Ajax调用,但我还没有找到它):从jQuery自动完成选择中触发控制器操作
<script type="text/javascript">
$(function() {
$("#Client").autocomplete({
source: function (request, response) {
$.ajax({
url: 'Entity/GetClientAutoComplete', type: 'POST', dataType: 'json',
data: { query: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item, value: item };
}))
}
})
},
minLength: 1,
select: function (event, ui) {
$.ajax({
url: 'Entity/GetApplicationsByName/' + ui.item.value, type: 'POST'
})
}
});
});
</script>
这里就是我试图调用控制器:
public ActionResult GetApplicationsByName(string id)
{
ViewBag.Client = id;
var apps = _service.GetDashboardByName(id);
return View("Dashboard", apps.ToList());
}
当我看到Firebug中的Ajax调用触发器时,我看到了正确的URL配置,但没有发生任何其他事情。它的行为好像它想要加载某些东西而不是发送一些东西。我很困惑。感谢您的任何指导。
好极了!是的,附近有人告诉我,我不想进行Ajax调用,而应该更像是表单文章。但是,您的建议可能会为我节省更多打字量。我测试了它,并按预期发送了ViewBag参考。现在我需要弄清楚为什么存储库没有返回数据,但这是另一个问题。 – ewomack 2011-04-13 22:15:06