1
정확한 데이터를 표시하는 jQuery 자동 선택 상자가 있습니다. 이제 항목을 선택하면 ASP.NET MVC 3 컨트롤러를 시작하고 싶습니다. 그러면 컨트롤러가보기로 리디렉션되어야합니다. 여기 내 jQuery를 자동 완성 코드입니다 (난 뭔가 2 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